Dear All, I am trying to install deal.ii-9.0.1 using spack v.15 on our HPC cluster (Centos 7 OS). The installation works fine. Most of my code compiles without any issues, but when compiling targets using Boost serilization functionalities, I get the following linking errors:
iwtm020h@emmy1:/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build$ make VERBOSE=1 /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -S/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac -B/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build --check-build-system CMakeFiles/Makefile.cmake 0 /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -E cmake_progress_start /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/CMakeFiles /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make -f CMakeFiles/mncfrac.dir/build.make CMakeFiles/mncfrac.dir/depend make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' cd /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build && /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -E cmake_depends "Unix Makefiles" /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/CMakeFiles/mncfrac.dir/DependInfo.cmake --color= make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make -f CMakeFiles/mncfrac.dir/build.make CMakeFiles/mncfrac.dir/build make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make[2]: Nothing to be done for `CMakeFiles/mncfrac.dir/build'. make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' [ 54%] Built target mncfrac make -f CMakeFiles/mncfracture.dir/build.make CMakeFiles/mncfracture.dir/depend make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' cd /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build && /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -E cmake_depends "Unix Makefiles" /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/CMakeFiles/mncfracture.dir/DependInfo.cmake --color= make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make -f CMakeFiles/mncfracture.dir/build.make CMakeFiles/mncfracture.dir/build make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make[2]: Nothing to be done for `CMakeFiles/mncfracture.dir/build'. make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' [ 63%] Built target mncfracture make -f variants/CMakeFiles/cookmembranedistributed.dir/build.make variants/CMakeFiles/cookmembranedistributed.dir/depend make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' cd /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build && /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -E cmake_depends "Unix Makefiles" /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/variants /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/variants /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/variants/CMakeFiles/cookmembranedistributed.dir/DependInfo.cmake --color= make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make -f variants/CMakeFiles/cookmembranedistributed.dir/build.make variants/CMakeFiles/cookmembranedistributed.dir/build make[2]: Entering directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' [ 68%] Linking CXX executable cookmembranedistributed cd /home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build/variants && /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/cmake-3.17.3-yp7x4tfykdwkolbguxb2nbd46ktt5e6h/bin/cmake -E cmake_link_script CMakeFiles/cookmembranedistributed.dir/link.txt --verbose=1 /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/openmpi-3.1.6-6d7xi6tah53fltt3wtens3wt6zoaysr7/bin/mpic++ -rdynamic -rdynamic -fuse-ld=gold -ggdb CMakeFiles/cookmembranedistributed.dir/cook_membrane_distributed/CookMembraneDistributed.cc.o CMakeFiles/cookmembranedistributed.dir/cook_membrane_distributed/CookMembraneDistributedMain.cc.o -o cookmembranedistributed -Wl,-rpath,/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/dealii-9.0.1-dealii-901-dev-mzkyyfiqp2zxw4ip4cuyx7ok6ym57bp7/lib/libdeal_II.g.so.9.0.1 ../libmncfrac.so /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/dealii-9.0.1-dealii-901-dev-mzkyyfiqp2zxw4ip4cuyx7ok6ym57bp7/lib/libdeal_II.g.so.9.0.1 -ltbb_debug -lboost_iostreams-mt -lboost_serialization-mt -lboost_system-mt -lboost_thread-mt -lboost_regex-mt -lboost_chrono-mt -lboost_date_time-mt -lboost_atomic-mt -lmuelu-adapters -lmuelu-interface -lmuelu -lifpack2 -lanasazitpetra -lModeLaplace -lanasaziepetra -lanasazi -lmapvarlib -lsuplib -lsuplib_c -lsuplib_cpp -lsupes -laprepro_lib -lio_info_lib -lIonit -lIotr -lIohb -lIogs -lIogn -lIovs -lIoexo_fac -lIopx -lIofx -lIoex -lIoss -lnemesis -lexoIIv2for32 -lexodus_for -lexodus -lamesos2 -lbelosxpetra -lbelostpetra -lbelosepetra -lbelos -lml -lifpack -lzoltan2 -lamesos -lgaleri-xpetra -lgaleri-epetra -laztecoo -lxpetra-sup -lxpetra -ltrilinosss -ltpetraext -ltpetrainout -ltpetra -lkokkostsqr -ltpetraclassiclinalg -ltpetraclassicnodeapi -ltpetraclassic -lepetraext -ltriutils -lzoltan -lepetra -lsacado -lkokkoskernels -lteuchoskokkoscomm -lteuchoskokkoscompat -lteuchosremainder -lteuchosnumerics -lteuchoscomm -lteuchosparameterlist -lteuchosparser -lteuchoscore -lkokkosalgorithms -lkokkoscontainers -lkokkoscore -lgtest -lmatio -ldmumps -lmumps_common -lpord -lumfpack -lcholmod -lccolamd -lcolamd -lcamd -lsuitesparseconfig -lamd -lrt -ladolc -lparpack -larpack -lassimp -lgsl -lgslcblas -lmuparser -lnetcdf_c++ -lnetcdf -lTKBO -lTKBool -lTKBRep -lTKernel -lTKFeat -lTKFillet -lTKG2d -lTKG3d -lTKGeomAlgo -lTKGeomBase -lTKHLR -lTKIGES -lTKMath -lTKMesh -lTKOffset -lTKPrim -lTKShHealing -lTKSTEP -lTKSTEPAttr -lTKSTEPBase -lTKSTEP209 -lTKSTL -lTKTopAlgo -lTKXSBase -lp4est -lsc -lscalapack -lslepc -lpetsc -lHYPRE -lsuperlu_dist -lopenblas -lhdf5hl_fortran -lhdf5_hl -lhdf5_fortran -lhdf5 -lparmetis -lmetis -lz -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lpthread -lquadmath -ldl -lsundials_idas -lsundials_arkode -lsundials_kinsol -lsundials_nvecserial -lsundials_nvecparallel /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/binary_iarchive_impl.hpp:58: error: undefined reference to 'boost::archive::basic_binary_iarchive<boost::archive::binary_iarchive>::load_override(boost::archive::class_name_type&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/oserializer.hpp:93: error: undefined reference to 'boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/serialization/throw_exception.hpp:36: error: undefined reference to 'boost::archive::archive_exception::archive_exception(boost::archive::archive_exception const&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/oserializer.hpp:93: error: undefined reference to 'boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/oserializer.hpp:93: error: undefined reference to 'boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/iserializer.hpp:108: error: undefined reference to 'boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/iserializer.hpp:108: error: undefined reference to 'boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/iserializer.hpp:108: error: undefined reference to 'boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/oserializer.hpp:93: error: undefined reference to 'boost::archive::basic_binary_oprimitive<boost::archive::binary_oarchive, char, std::char_traits<char> >::save(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /home/woody/iwtm/iwtm020h/spack-install/dealii901-spackv15-gcc/spack/opt/spack/linux-centos7-ivybridge/gcc-7.3.0/boost-1.73.0-qq6dfhn4upamtqfmtvqy5pe4obuy6wkx/include/boost/archive/detail/iserializer.hpp:108: error: undefined reference to 'boost::archive::basic_binary_iprimitive<boost::archive::binary_iarchive, char, std::char_traits<char> >::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)' collect2: error: ld returned 1 exit status make[2]: *** [variants/cookmembranedistributed] Error 1 make[2]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make[1]: *** [variants/CMakeFiles/cookmembranedistributed.dir/all] Error 2 make[1]: Leaving directory `/home/woody/iwtm/iwtm020h/trial-code/MNC-Frac/_build' make: *** [all] Error 2 I also tried to employ the patch from PR# 11024 as described in https://groups.google.com/g/dealii/c/dClF4Men1iY/m/o8tHBvoCAQAJ but got the same linking errors. Further, the infromation from 'make VERBOSE=1' does not seem to hint towards system Boost (if I interpret things correctly). The boost version is 1.73, which is default with spack v0.15. Some further search revealed that a possible remedy could be to switch the order in which the libraries are linked as discussed here for some other Boost dependent project: https://github.com/esa/pagmo/issues/174 . But, I could not figure out how to change the linking order. I have boost as an explicit dependency in my CMakeLists.txt and the order in which the FIND_PACKAGE() commands for dealii and Boost appear in the CMakeLists.txt does not seem to change the outcome. It is note worthy that the Boost library is found by my code, since other parts of the code using some other boost functions work fine. Also, the same code compiles on my local machine having Ubuntu 18.04 Could someone please help me understand where I go wrong? Best regards, Paras Kumar -- The deal.II project is located at http://www.dealii.org/ For mailing list/forum options, see https://groups.google.com/d/forum/dealii?hl=en --- You received this message because you are subscribed to the Google Groups "deal.II User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to dealii+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dealii/66cb0191-8a8a-48eb-bc05-219eaf708da8n%40googlegroups.com.