Removal of Boost system component causes link failure
On our local system (OS X laptop) the latest dolfin fails to link (see below). It works when I add the "system" component to Boost in the top level CMakeLists.txt file.
Sorry if this is not the right place to report this but I thought I would bring it to your attention.
[ 92%] Linking CXX shared library libdolfin.dylib Undefined symbols for architecture x86_64: "boost::system::system_category()", referenced from: GLOBALsub_I_ErrorControl.cpp in ErrorControl.cpp.o GLOBALsub_I_Extrapolation.cpp in Extrapolation.cpp.o GLOBALsub_I_GenericAdaptiveVariationalSolver.cpp in GenericAdaptiveVariationalSolver.cpp.o GLOBALsub_I_SubSystemsManager.cpp in SubSystemsManager.cpp.o GLOBALsub_I_Timer.cpp in Timer.cpp.o GLOBALsub_I_timing.cpp in timing.cpp.o GLOBALsub_I_Assembler.cpp in Assembler.cpp.o ... "boost::system::generic_category()", referenced from: GLOBALsub_I_ErrorControl.cpp in ErrorControl.cpp.o GLOBALsub_I_Extrapolation.cpp in Extrapolation.cpp.o GLOBALsub_I_GenericAdaptiveVariationalSolver.cpp in GenericAdaptiveVariationalSolver.cpp.o GLOBALsub_I_SubSystemsManager.cpp in SubSystemsManager.cpp.o GLOBALsub_I_Timer.cpp in Timer.cpp.o GLOBALsub_I_timing.cpp in timing.cpp.o GLOBALsub_I_Assembler.cpp in Assembler.cpp.o ... ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: [dolfin/libdolfin.2016.2.0.dev0.dylib] Error 1 make[1]: [dolfin/CMakeFiles/dolfin.dir/all] Error 2 make: *** [all] Error 2
Comments (4)
-
-
reporter Hi Garth, I also used homebrew to install boost 1.59. I'll ask my coworker to try to replicate this, maybe it's just my system.
-
reporter My colleague Linh was able to build it normally after clearing out /usr/local, no cmakelists.txt editing required. Must be something on my end then...
-
- changed status to invalid
- Log in to comment
Strange - works on my OSX laptops. We don't include any boost::system headers, so I'm not sure what's up. How did you install Boost? (I use homebrew.)