Closed paskino closed 3 years ago
sigh. Mixed versions of boost? What OS etc? I guess do make VERBOSE=ON
to see what it's doing.
That's on the cluster.
cd /work3/cse/synerbi/mcir_build/buildVM/builds/ISMRMRD/build/utilities &&
/home/vol05/scarf595/miniconda1907/envs/mcir/bin/cmake -E cmake_link_script
CMakeFiles/ismrmrd_generate_cartesian_shepp_logan.dir/link.txt --verbose=1
/apps/gcc/8.1.0/gcc/4.8.5/bin/g++ -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED -Wall -std=c++11 -O3 -DNDEBUG -rdynamic
CMakeFiles/ismrmrd_generate_cartesian_shepp_logan.dir/generate_cartesian_shepp_logan.cpp.o
CMakeFiles/ismrmrd_generate_cartesian_shepp_logan.dir/ismrmrd_phantom.cpp.o -o ismrmrd_generate_cartesian_shepp_logan
-Wl,-rpath,/work3/cse/synerbi/mcir_build/buildVM/builds/ISMRMRD/build:/work3/cse/synerbi/mcir_build/install/lib:
../libismrmrd.so.1.4.0 /work3/cse/synerbi/mcir_build/install/lib/libboost_program_options.so
/work3/cse/synerbi/mcir_build/install/lib/libfftw3f.a /work3/cse/synerbi/mcir_build/install/lib/libhdf5.so
BTW the build was done by
export CC=/apps/gcc/8.1.0/gcc/4.8.5/bin/gcc \
export CXX=/apps/gcc/8.1.0/gcc/4.8.5/bin/g++ \
cmake ../SIRF-SuperBuild -DCMAKE_BUILD_TYPE=Release \
-DUSE_SYSTEM_ACE=OFF \
-DUSE_SYSTEM_Boost=OFF \
-DUSE_SYSTEM_HDF5=OFF \
-DBUILD_Gadgetron=OFF \
-DUSE_CUDA=OFF \
-DCMAKE_INSTALL_PREFIX=../install \
-DUSE_SYSTEM_Armadillo=OFF \
-DUSE_SYSTEM_FFTW3=OFF \
-DBUILD_siemens_to_ismrmrd=OFF \
-DUSE_ITK=ON \
-DDEVEL_BUILD=OFF \
-DBUILD_CIL_LITE=ON\
-DCMAKE_CXX_FLAGS="-Ofast -march=znver2"\
-DCMAKE_SHARED_LINKER_FLAGS="-L/libm-install-dir/lib -lamdlibm"
I seem to think I've seen this /apps/gcc/8.1.0/gcc/4.8.5/bin/g++
before. I'm hoping it's not gcc 4.8.5... (and that you told me so).
One possible reason is that boost
was compiled with a different compiler, see e.g.
https://stackoverflow.com/questions/12179154/undefined-reference-to-boostprogram-optionsoptions-descriptionm-default-l. This is a known problem https://github.com/SyneRBI/SIRF-SuperBuild/issues/14#issuecomment-445404313
A final possible (but unlikely) reason is that you set CMAKE_CXX_FLAGS
, which in some settings causes problems https://github.com/SyneRBI/SIRF-SuperBuild/issues/455, but unlikely to be the problem here.
Are you sure you cannot use the system boost
? (although that might have the same problem of course)
Thanks @KrisThielemans! It was indeed the wrong compiler. I set the environment variable CC
and CXX
which affects the CMake
projects but Boost
will not be influenced by it, so it'd pick whatever is pointed out by gcc
or g++
, which in my case was a different compiler.
It's building now. At least it passed that problem!
Close as duplicate of #14? Or change title to more accurately reflect the problem
closed as duplicate of #14
Currently running in a problem linking ISMRMRD (1.4.1) with Boost (1.65.1) on SuperBuild master. Any idea?