Problems compiling cctbx on OS X (10.8.0)
Hi folks: I am having the same problem compiling cctbx stand-alone, or within CCP4. I've posted the error log here: http://fennario.ucsc.edu/~wgscott/temp/cctbx_compile_errors.log Any suggestions what to fix? Thanks. Bill William G. Scott Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA 228 Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
Apple has been "messing around" with the Xcode and the OS to prefer CLang over gcc (at least that is what I have inferred). It could be that on Mac OS X 10.8 that scons chooses a different compiler, etc. than on Mac OS X 10.6.8 (where cctbx compiles fine). Hopefully scons has a method to print the toolchain or config to see what differs from previous versions of Mac OS X (e.g. 10.6.8 and 10.8.0) Xcode 3.* or Xcode 4.*? --Jeff
Do you have gcc configured on the command-line? I now need to add --compiler=gcc to the python ../blah/libtbx/configure.py command when building from source, to avoid clang. Best wishes, Graeme ________________________________________ From: [email protected] [[email protected]] on behalf of Jeffrey Van Voorst [[email protected]] Sent: 01 August 2012 17:26 To: cctbx mailing list Subject: Re: [cctbxbb] Problems compiling cctbx on OS X (10.8.0) Apple has been "messing around" with the Xcode and the OS to prefer CLang over gcc (at least that is what I have inferred). It could be that on Mac OS X 10.8 that scons chooses a different compiler, etc. than on Mac OS X 10.6.8 (where cctbx compiles fine). Hopefully scons has a method to print the toolchain or config to see what differs from previous versions of Mac OS X (e.g. 10.6.8 and 10.8.0) Xcode 3.* or Xcode 4.*? --Jeff _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb -- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
On Aug 1, 2012, at 9:40 AM,
Do you have gcc configured on the command-line?
No.
I now need to add
--compiler=gcc
to the python ../blah/libtbx/configure.py command when building from source, to avoid clang.
Best wishes,
Graeme
OK, I shall give it a try. Thanks. I would never have figured that out. Bill
Out of curiosity: i remember reading somewhere that cctbx can be
compiled with clang (and that it took a lot of work). Do you plan to
support this compiler?
Marcin
On 1 August 2012 17:26, Jeffrey Van Voorst
Apple has been "messing around" with the Xcode and the OS to prefer CLang over gcc (at least that is what I have inferred). It could be that on Mac OS X 10.8 that scons chooses a different compiler, etc. than on Mac OS X 10.6.8 (where cctbx compiles fine).
Hopefully scons has a method to print the toolchain or config to see what differs from previous versions of Mac OS X (e.g. 10.6.8 and 10.8.0) Xcode 3.* or Xcode 4.*?
--Jeff _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
As Graeme mentioned you currently need to use --compiler=gcc to force
compilation with gcc over clang for the latest Xcode/OS X (we should
probably try and figure out how to the configure command use gcc by
default). The cctbx *should* build with the more recent versions of clang
(perhaps Luc could comment on this as I think he uses clang regularly),
although depending on what version of Xcode you are using, Apple used to
ship a relatively old version of clang/llvm with Xcode, so clang
compilation might not necessarily work straight out the box.
What output do you get after running "clang --version"?
After upgrading to OS X 10.8/Xcode 4.4 I get:
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
which is more recent than with older versions of Xcode.
We should probably add a clang build to our nightly builds at some point in
the near future.
Cheers,
Richard
On 1 August 2012 10:13, Marcin Wojdyr
Out of curiosity: i remember reading somewhere that cctbx can be compiled with clang (and that it took a lot of work). Do you plan to support this compiler? Marcin
On 1 August 2012 17:26, Jeffrey Van Voorst
wrote: Apple has been "messing around" with the Xcode and the OS to prefer CLang over gcc (at least that is what I have inferred). It could be that on Mac OS X 10.8 that scons chooses a different compiler, etc. than on Mac OS X 10.6.8 (where cctbx compiles fine).
Hopefully scons has a method to print the toolchain or config to see what differs from previous versions of Mac OS X (e.g. 10.6.8 and 10.8.0) Xcode 3.* or Xcode 4.*?
--Jeff _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
On Aug 1, 2012, at 10:40 AM, Richard Gildea
As Graeme mentioned you currently need to use --compiler=gcc to force compilation with gcc over clang for the latest Xcode/OS X (we should probably try and figure out how to the configure command use gcc by default). The cctbx should build with the more recent versions of clang (perhaps Luc could comment on this as I think he uses clang regularly), although depending on what version of Xcode you are using, Apple used to ship a relatively old version of clang/llvm with Xcode, so clang compilation might not necessarily work straight out the box.
What output do you get after running "clang --version"?
After upgrading to OS X 10.8/Xcode 4.4 I get:
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
which is more recent than with older versions of Xcode.
We should probably add a clang build to our nightly builds at some point in the near future.
Cheers,
Richard
This is getting progressively more confusing, doubtlessly compounded by the fact that I lose 5 points of IQ for every year I spend in Santa Cruz… cctbx appears to be using c++, which, for me, is sym linked to clang++ (g++ sym links to llvm-g++-4.2) If I cut and paste the failing command directly into my shell command-line, and manually reissue either the very same command, or use the full compiler path, be it /usr/bin/c++ or /usr/bin/clang++, or /usr/bin/g++, it works in each case.
On Aug 1, 2012, at 10:40 AM, Richard Gildea
As Graeme mentioned you currently need to use --compiler=gcc
OK, I finally did that (I guess properly) and it worked, i.e., this works: /System/Library/Frameworks/Python.framework/Versions/Current/bin/python ../cctbx_sources/libtbx/configure.py --compiler=gcc mmtbx Notably, even --compiler=gcc-4.2 does not work. My guess is that invokes clang (now), whereas llvm-g++-4.2 is invoked using --compiler which I deduced the hard way.
to force compilation with gcc over clang for the latest Xcode/OS X (we should probably try and figure out how to the configure command use gcc by default). The cctbx should build with the more recent versions of clang (perhaps Luc could comment on this as I think he uses clang regularly), although depending on what version of Xcode you are using, Apple used to ship a relatively old version of clang/llvm with Xcode, so clang compilation might not necessarily work straight out the box.
What output do you get after running "clang --version"?
Same as you, i.e., clang --version Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.0.0 Thread model: posix
Hi William,
I am having the same problem compiling cctbx stand-alone, or within CCP4. I've posted the error log here:
http://fennario.ucsc.edu/~wgscott/temp/cctbx_compile_errors.log
From the information given in the discussion that followed, you have installed Xcode 4.4 command line tools. So do I but I can't reproduce the problem with the cctbx trunk as of a few minutes ago. From the error log you linked to, the compilation of mmtbx/bulk_solvent/bulk_solvent_ext.cpp fails. Could you copy me the exact compiler invocation? Moreover, although it should not matter considering the compiler errors at hand, could you tell me which version of Boost you used?
Finally, a general remark is in order: thou shall never try to work around such problems by playing with --compiler. Instead, please, loudly complain on this forum: the cctbx must compile with the latest Xcode tools and a build directory setup with simply "python configure.py mmtbx". Best wishes, Luc
The weirdest thing is that I can issue the commands that fail in any of the build scripts manually, and they work.
i.e., if I re-issue
c++ -o mmtbx/ncs/restraints_ext.o -c -DBOOST_ALL_NO_LIB -DBOOST_DISABLE_THREADS -DBOOST_PYTHON_MAX_BASES=2 -I/Users/wgscott/src/newcctbx/cctbx_sources/boost -I/Users/wgscott/src/newcctbx/cctbx_sources/boost -fPIC -fno-strict-aliasing -w -no-cpp-precomp -DNDEBUG -O3 -ffast-math -I/Users/wgscott/src/newcctbx/cctbx_build/include -I/Users/wgscott/src/newcctbx/cctbx_sources -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/Users/wgscott/src/newcctbx/cctbx_build/include -I/Users/wgscott/src/newcctbx/cctbx_sources /Users/wgscott/src/newcctbx/cctbx_sources/mmtbx/ncs/restraints_ext.cpp
which is the line that failed in the error log I posted. This happens even if I invoke a new shell with /bin/tcsh -f , or if I create a new shell script executable file with any of the shells (ksh, zsh, bash, sh, tcsh). So it must be something within the environment that cctbx is creating.
On Aug 2, 2012, at 5:29 AM, Luc Bourhis
I but I can't reproduce the problem with the cctbx trunk as of a few minutes ago.
Aha. I guess the bug you stumbled upon was fixed by rev 15462.
Best wishes,
Luc
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
On Thu, Aug 2, 2012 at 5:26 AM, Luc Bourhis
Finally, a general remark is in order: thou shall never try to work around such problems by playing with --compiler. Instead, please, loudly complain on this forum: the cctbx must compile with the latest Xcode tools and a build directory setup with simply "python configure.py mmtbx".
So, is this in fact true? Our newest nightly build machine is running 10.6, and we can't upgrade it because it's used to make Phenix installers for distribution. Richard now has 10.8 running on his laptop at least (I am still stuck with Lion), but it sounds like we may need to track Apple more aggressively. If it's time to buy another MacPro we can talk to Paul about it later today. -Nat
Hi Luc:
I don't know how to find the version of Boost, but everything else is here:
http://fennario.ucsc.edu/~wgscott/temp/everything.log
I've hidden all "third-party" stuff like /usr/local and /sw, so the only (unmodified) python is what comes with 10.8, the only compilers are those supplied with the latest Xcode, and so on.
This time I used the supplied cctbx_install_script.csh and put a -v in the shell invocation to provide verbose output.
I invoked this from zsh, from bash, and from tcsh. Only the first of these has significant customizations, so I don't think it is my shell environment.
I can't think of anything else. Since g++ works, I can't see how it could be anything other than clang.
Bill
William G. Scott
Professor
Department of Chemistry and Biochemistry
and The Center for the Molecular Biology of RNA
228 Sinsheimer Laboratories
University of California at Santa Cruz
Santa Cruz, California 95064
USA
On Aug 2, 2012, at 5:26 AM, Luc Bourhis
Hi William,
I am having the same problem compiling cctbx stand-alone, or within CCP4. I've posted the error log here:
http://fennario.ucsc.edu/~wgscott/temp/cctbx_compile_errors.log
From the information given in the discussion that followed, you have installed Xcode 4.4 command line tools. So do I but I can't reproduce the problem with the cctbx trunk as of a few minutes ago. From the error log you linked to, the compilation of mmtbx/bulk_solvent/bulk_solvent_ext.cpp fails. Could you copy me the exact compiler invocation? Moreover, although it should not matter considering the compiler errors at hand, could you tell me which version of Boost you used?
Finally, a general remark is in order: thou shall never try to work around such problems by playing with --compiler. Instead, please, loudly complain on this forum: the cctbx must compile with the latest Xcode tools and a build directory setup with simply "python configure.py mmtbx".
Best wishes,
Luc
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi Bill,
What version of the cctbx sources are you using? As Luc mentioned, the
first error from your log was resolved about 2 months ago with svn revision
15462 (
http://cctbx.svn.sourceforge.net/viewvc/cctbx?view=revision&revision=15462).
If you are using the latest "released" build (about 3 months old), then you
should either update to latest nightly builds (http://cci.lbl.gov/builds/)
or track the svn. It is known that the cctbx will not fully compile using
clang with the older version of boost we currently distribute, however if
you use a recent boost release it should be fine (it is also fine using
--compiler=gcc). We are currently working on updating to the latest boost
(the problem is with compatibility with some of the older platforms we
support).
Hope that helps,
Richard
On 3 August 2012 08:53, William G. Scott
Hi Luc:
I don't know how to find the version of Boost, but everything else is here:
http://fennario.ucsc.edu/~wgscott/temp/everything.log
I've hidden all "third-party" stuff like /usr/local and /sw, so the only (unmodified) python is what comes with 10.8, the only compilers are those supplied with the latest Xcode, and so on.
This time I used the supplied cctbx_install_script.csh and put a -v in the shell invocation to provide verbose output.
I invoked this from zsh, from bash, and from tcsh. Only the first of these has significant customizations, so I don't think it is my shell environment.
I can't think of anything else. Since g++ works, I can't see how it could be anything other than clang.
Bill
William G. Scott Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA 228 Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
On Aug 2, 2012, at 5:26 AM, Luc Bourhis
wrote: Hi William,
I am having the same problem compiling cctbx stand-alone, or within CCP4. I've posted the error log here:
http://fennario.ucsc.edu/~wgscott/temp/cctbx_compile_errors.log
From the information given in the discussion that followed, you have installed Xcode 4.4 command line tools. So do I but I can't reproduce the problem with the cctbx trunk as of a few minutes ago. From the error log you linked to, the compilation of mmtbx/bulk_solvent/bulk_solvent_ext.cpp fails. Could you copy me the exact compiler invocation? Moreover, although it should not matter considering the compiler errors at hand, could you tell me which version of Boost you used?
Finally, a general remark is in order: thou shall never try to work around such problems by playing with --compiler. Instead, please, loudly complain on this forum: the cctbx must compile with the latest Xcode tools and a build directory setup with simply "python configure.py mmtbx".
Best wishes,
Luc
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi Richard:
The tar ball isn't versioned, but has an md5sum of 9444c00f3c60ad855896e1032b2c5fd2. I vaguely recall the date being from about 3 months ago. This only started because I was trying to figure out why I couldn't get it to compile in ccp4. (It is the same problem. I am also having trouble compiling the ccp4 programs that rely on this, like phaser, aimless, pointless, even after I apply the previous fix. I haven't had a chance to check why yet, but it is a significant problem within the context the ccp4 6.3.0 released a couple of weeks ago.)
Thanks.
Bill
William G. Scott
Professor
Department of Chemistry and Biochemistry
and The Center for the Molecular Biology of RNA
228 Sinsheimer Laboratories
University of California at Santa Cruz
Santa Cruz, California 95064
USA
On Aug 3, 2012, at 10:25 AM, Richard Gildea
Hi Bill,
What version of the cctbx sources are you using? As Luc mentioned, the first error from your log was resolved about 2 months ago with svn revision 15462 (http://cctbx.svn.sourceforge.net/viewvc/cctbx?view=revision&revision=15462). If you are using the latest "released" build (about 3 months old), then you should either update to latest nightly builds (http://cci.lbl.gov/builds/) or track the svn. It is known that the cctbx will not fully compile using clang with the older version of boost we currently distribute, however if you use a recent boost release it should be fine (it is also fine using --compiler=gcc). We are currently working on updating to the latest boost (the problem is with compatibility with some of the older platforms we support).
Hope that helps,
Richard
On 3 August 2012 08:53, William G. Scott
wrote: Hi Luc: I don't know how to find the version of Boost, but everything else is here:
http://fennario.ucsc.edu/~wgscott/temp/everything.log
I've hidden all "third-party" stuff like /usr/local and /sw, so the only (unmodified) python is what comes with 10.8, the only compilers are those supplied with the latest Xcode, and so on.
This time I used the supplied cctbx_install_script.csh and put a -v in the shell invocation to provide verbose output.
I invoked this from zsh, from bash, and from tcsh. Only the first of these has significant customizations, so I don't think it is my shell environment.
I can't think of anything else. Since g++ works, I can't see how it could be anything other than clang.
Bill
William G. Scott Professor Department of Chemistry and Biochemistry and The Center for the Molecular Biology of RNA 228 Sinsheimer Laboratories University of California at Santa Cruz Santa Cruz, California 95064 USA
On Aug 2, 2012, at 5:26 AM, Luc Bourhis
wrote: Hi William,
I am having the same problem compiling cctbx stand-alone, or within CCP4. I've posted the error log here:
http://fennario.ucsc.edu/~wgscott/temp/cctbx_compile_errors.log
From the information given in the discussion that followed, you have installed Xcode 4.4 command line tools. So do I but I can't reproduce the problem with the cctbx trunk as of a few minutes ago. From the error log you linked to, the compilation of mmtbx/bulk_solvent/bulk_solvent_ext.cpp fails. Could you copy me the exact compiler invocation? Moreover, although it should not matter considering the compiler errors at hand, could you tell me which version of Boost you used?
Finally, a general remark is in order: thou shall never try to work around such problems by playing with --compiler. Instead, please, loudly complain on this forum: the cctbx must compile with the latest Xcode tools and a build directory setup with simply "python configure.py mmtbx".
Best wishes,
Luc
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
On 8/3/12 3:27 PM, Jeffrey Van Voorst wrote:
On 8/3/12 3:07 PM, William G. Scott wrote:
Hi Richard:
The tar ball isn't versioned, but has an md5sum of 9444c00f3c60ad855896e1032b2c5fd2.
In the cctbx_source directory there is a TAG file that should give you the date of the tarball.
During my multitasking I failed to remember that the latest release doesn't have the fix. If you are using a release of cctbx, there will be a TAG file, but that is not relevant because the fixes have not been released. Sorry for the noise.
participants (7)
-
Graeme.Winter@diamond.ac.uk
-
Jeffrey Van Voorst
-
Luc Bourhis
-
Marcin Wojdyr
-
Nathaniel Echols
-
Richard Gildea
-
William G. Scott