[cctbxbb] Compiling CCTBX with newer GCC on Mac

Lance Westerhoff lance at quantumbioinc.com
Thu Aug 17 14:03:02 PDT 2017


Hi Billy-

That one worked - thanks!

Now, whether it compiles with the much newer compiler: yes and no. We have two different versions of cctbx on site here. We have been using a version approximating #992 on the Linux side for months. That was our last pull and for our needs, it seems to be working well on linux. That one builds just fine on Mac OS X as well when I perform the following steps. However, when I try to build the much more recent version (#1131), that is when I run into trouble and I I get the following errors. For the most part, because #992 seems to work for Linux for what we need, we should be ok but I wanted to send a report in case this is something you would like to fix. At the moment, we are moving forward. I’ll let you know how things pan out as we actually start to use the Mac CCTBX as hard as we already use the Linux CCTBX.

Thanks for your help!


mac-build64:build jenkins$ which gcc
/opt/gcc/current/bin/gcc

mac-build64:build jenkins$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/gcc/gcc-6.3.0-08092017/libexec/gcc/x86_64-apple-darwin11.4.2/6.3.0/lto-wrapper
Target: x86_64-apple-darwin11.4.2
Configured with: ../gcc-6.3.0/configure --prefix=/opt/gcc/gcc-6.3.0-08092017 --enable-languages=c,c++,fortran,objc --with-gmp=/opt/gcc/gcc-6.3.0-08092017 --with-mpfr=/opt/gcc/gcc-6.3.0-08092017 --with-mpc=/opt/gcc/gcc-6.3.0-08092017 --enable-libgomp --disable-multilib
Thread model: posix
gcc version 6.3.0 (GCC) 

mac-build64:build jenkins$ /opt/python/current/bin/python ../modules/cctbx_project/libtbx/configure.py cctbx iotbx --compiler=gcc --enable-cxx11
Python: 2.7.9 "/opt/python/current/bin/python"
Compiler: gcc
Build mode: release
Warning level: 0
Precompiled Headers: False
Static libraries: False
Static exe: False
Scan Boost headers: False
Write full flex_fwd.h files: False
Build Boost.Python extensions: True
Define BOOST_PYTHON_NO_PY_SIGNATURES: False
Define BOOST_PYTHON_BOOL_INT_STRICT: True
Enable OpenMP if possible: False
Boost threads enabled: False
Enable CUDA: False
Use opt_resources if available: False
Use environment flags: False
Enable C++11: True
Force true division: True
command_version_suffix: None
.....

mac-build64:build jenkins$ make
./bin/libtbx.scons -j "`./bin/libtbx.show_number_of_processors`"
scons: Reading SConscript files ...
On MacOS, using  gcc 6.3.0Xcode 4.6.3
Build version 4H1503

libtbx.scons: OpenMP is disabled.
BOOST_VERSION: 105600
......

/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/cctbx_project/boost_adaptbx/graph/graph_ext.cpp:337:5:   required from here
/opt/gcc/gcc-6.3.0-08092017/include/c++/6.3.0/bits/stl_construct.h:75:7: error: use of deleted function ‘boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_weight_t, boost::python::api::object> >::stored_edge_property(const boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_weight_t, boost::python::api::object> >&)’
     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/boost/boost/graph/adjacency_list.hpp:246:0,
                 from /private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/cctbx_project/boost_adaptbx/graph/graph_type.hpp:5,
                 from /private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/cctbx_project/boost_adaptbx/graph/graph_ext.cpp:1:
/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/boost/boost/graph/detail/adjacency_list.hpp:290:11: note: ‘boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_weight_t, boost::python::api::object> >::stored_edge_property(const boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_weight_t, boost::python::api::object> >&)’ is implicitly declared as deleted because ‘boost::detail::stored_edge_property<long unsigned int, boost::property<boost::edge_weight_t, boost::python::api::object> >’ declares a move constructor or move assignment operator
     class stored_edge_property : public stored_edge<Vertex> {
           ^~~~~~~~~~~~~~~~~~~~
g++ -o boost_adaptbx/graph/maximum_clique_ext.o -c -DBOOST_ALL_NO_LIB -std=c++11 -DBOOST_PYTHON_MAX_BASES=2 -I/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/boost -fPIC -fno-strict-aliasing -w -DNDEBUG -O3 -ffast-math -I/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/cctbx_project -I/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/build/include -I/private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/build/include -I/opt/python/Python-2.7.9-01292015/include/python2.7 /private/var/lib/jenkins-release/workspace/tmp/newbuild-1131/modules/cctbx_project/boost_adaptbx/graph/maximum_clique_ext.cpp
scons: *** [boost_adaptbx/graph/graph_ext.o] Error 1
scons: building terminated because of errors.
usr+sys time: 4.25 seconds
wall clock time: 2 minutes 15.94 seconds (135.94 seconds total)
make: *** [default] Error 2





-Lance
____________________
Lance M. Westerhoff, Ph.D.
President and General Manager
QuantumBio Inc. 

WWW:    http://www.quantumbioinc.com
Email:    lance at quantumbioinc.com

Phone:   814-235-6908
Fax:        814-235-6909


This message and any attachments are solely for the intended recipient and
should be considered confidential. If you are not the intended recipient,
please immediately and permanently delete.

> On Aug 16, 2017, at 6:42 PM, Billy Poon <BKPoon at lbl.gov> wrote:
> 
> Hi Lance,
> 
> Can try adding the "--compiler=gcc" flag to your configure.py command? That should use your custom gcc compiler since it's the first one that's found on your path. When you run "make," you should see a line that looks like "On MacOS, using  gcc 4.8.5", but with your version of gcc. The latest gcc that I have tested is 5.4.0 on Ubuntu 16.04, so I do not know if everything will compile with gcc 6.3.0
> 
> --
> Billy K. Poon
> Research Scientist, Molecular Biophysics and Integrated Bioimaging
> Lawrence Berkeley National Laboratory
> 1 Cyclotron Road, M/S 33R0345
> Berkeley, CA 94720
> Tel: (510) 486-5709
> Fax: (510) 486-5909
> Web: https://phenix-online.org <https://phenix-online.org/>
> On Wed, Aug 16, 2017 at 2:49 PM, Lance Westerhoff <lance at quantumbioinc.com <mailto:lance at quantumbioinc.com>> wrote:
> 
> Hello All-
> 
> How does one introduce an alternate gcc compiler for CCTBX on Mac? I must be missing it in the documentation.
> 
> I don’t want to use the old one in /usr/bin (and instead I want to you my newer one in /opt/gcc). I’ve tried all of the standard methods used by other build systems (change the $PATH, set $CXX and $CC, etc) but to no avail. These environment variables seem to be disregarded. We do use this compiler for building CCTBX on linux without too much trouble, so I think the support should be there.
> 
> Specifically:
> 
> mac-build64:build jenkins$ env | grep CXX
> CXX=/opt/gcc/current/bin/g++
> 
> mac-build64:build jenkins$ env | grep CC
> CC=/opt/gcc/current/bin/gcc
> 
> mac-build64:build jenkins$ which gcc
> /opt/gcc/current/bin/gcc
> 
> mac-build64:build jenkins$ g++ -v
> Using built-in specs.
> COLLECT_GCC=g++
> COLLECT_LTO_WRAPPER=/opt/gcc/gcc-6.3.0-08092017/libexec/gcc/x86_64-apple-darwin11.4.2/6.3.0/lto-wrapper
> Target: x86_64-apple-darwin11.4.2
> Configured with: ../gcc-6.3.0/configure --prefix=/opt/gcc/gcc-6.3.0-08092017 --enable-languages=c,c++,fortran,objc --with-gmp=/opt/gcc/gcc-6.3.0-08092017 --with-mpfr=/opt/gcc/gcc-6.3.0-08092017 --with-mpc=/opt/gcc/gcc-6.3.0-08092017 --enable-libgomp --disable-multilib
> Thread model: posix
> gcc version 6.3.0 (GCC)
> 
> mac-build64:build jenkins$ /opt/python/current/bin/python ../modules/cctbx_project/libtbx/configure.py cctbx
> Python: 2.7.9 "/opt/python/current/bin/python"
> Compiler: default
> ....
> This script is only applicable to Linux - exiting.
> Done.
> 
> mac-build64:build jenkins$ make
> ./bin/libtbx.scons -j "`./bin/libtbx.show_number_of_processors`"
> scons: Reading SConscript files ...
> On MacOS, using  clang 4.2.0
> Xcode 4.6.3
> Build version 4H1503
> ...
> 
> 
> Thanks for your help!
> 
> -Lance
> ____________________
> Lance M. Westerhoff, Ph.D.
> President and General Manager
> QuantumBio Inc.
> 
> WWW:    http://www.quantumbioinc.com <http://www.quantumbioinc.com/>
> Email:    lance at quantumbioinc.com <mailto:lance at quantumbioinc.com>
> 
> 
> 
> 
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org <mailto:cctbxbb at phenix-online.org>
> http://phenix-online.org/mailman/listinfo/cctbxbb <http://phenix-online.org/mailman/listinfo/cctbxbb>
> 
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://phenix-online.org/pipermail/cctbxbb/attachments/20170817/088b283a/attachment-0001.htm>


More information about the cctbxbb mailing list