Removal of Boost system component causes link failure

Issue #741 invalid
David Bernstein created an issue

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)

  1. Prof Garth Wells

    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.)

  2. David Bernstein 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.

  3. David Bernstein 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...

  4. Log in to comment