Wrong libboost version for compiling mshr

Issue #67 new
Carlos Baptista created an issue

I have been compiling all the FEniCS components from source. I think there is a small bug in the installation of mshr:

/usr/bin/ld: warning: libboost_filesystem.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_program_options.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_iostreams.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_timer.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_system.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_regex.so.1.62.0, needed by /usr/local/lib/libdolfin.so.2017.1.0.dev0, not found (try using -rpath or -rpath-link)

It seems it is looking specifically for version 1.62.0 of Boost. Compilation was failing because I have 1.63.0 installed. I solved this issue with a workaround:

sudo ln -s /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem.so.1.62.0 

and repeating the above workaround for all the libboost components.

Comments (3)

  1. Levi Morrison

    I built dolfin with Boost 1.64 and it worked; however it seems mshr is looking for /usr/lib/libboost_filesystem.so even though that's not where Boost 1.64 is installed to. Remember, I successfully built dolfin with Boost 1.64 so this seems a definite bug.

    I should add that I explicitly used -DBOOST_ROOT even though dolfin automatically detected it correctly. Issue is still present. I did note that while it did detect the include path the "Boost libraries" is empty:

    -- Boost include:     /apps/boost/1.64.0/include
    -- Boost libraries:
    
  2. Log in to comment