Bug #8326
chef-libs/cmake fails when an external boost is pointed to by boost/include= and boost/lib= contract options
0%
Description
On mira/bgq for instance, I am building with the installation provided boost by specifying contract options
boost/include=/soft/libraries/boost/current/cnk-gcc/current/include (user)
boost/lib=/soft/libraries/boost/current/cnk-gcc/current/lib (user)
When it comes time for chef-libs/cmake, those variables are not propagated to the cmake command line so cmake does not find the proper boost and it fails. This is the cmake command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/gpfs/mira-home/egstern/syn2-dev-201504/install -DFFTW3_LIBRARY_DIRS="/gpfs/mira-home/egstern/syn2-dev-201504/install/lib" -DCMAKE_BUILD_TYPE=Release -DBUILD_PARSER_MODULES=0 -DBUILD_PYTHON_BINDINGS=1 -DBUILD_SHARED_LIBS=1 /gpfs/mira-home/egstern/syn2-dev-201504/build/chef-libs -DCMAKE_EXE_LINKER_FLAGS:STRING="-dy -dynamic" -DCMAKE_CXX_COMPILER:FILEPATH=/bgsys/drivers/ppcfloor/gnu-linux/bin/powerpc64-bgq-linux-g++
There needs to be a definition of -DBOOST_INCLUDEDIR:PATH= on the cmake command library to point to the right place. In packages/chef_libs.py, there is the specification of the location when boost is built internally here:
if boost_internal.get():
chef_libs_conf += ' -DBOOST_INCLUDEDIR:PATH=%(boost.include_dir)s'
but this needs to be supplemented by specifying the same variable if the boost/include= contract option has been specified.
History
#1 Updated by Eric Stern almost 6 years ago
- Status changed from New to Resolved
Force the location of boost includes to be passed to chef-libs/cmake and synergia2/cmake in all cases.
commit:8321709a2eef642a43d0c9c8563dd518794f0242
#2 Updated by Eric Stern almost 6 years ago
- Status changed from Resolved to Closed