- edited description
Wrong libboost version for compiling mshr
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)
-
reporter -
reporter - edited description
-
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:
- Log in to comment