salmon
salmon copied to clipboard
Build failed with BOOST 1.89.0
Hello, in latest BOOST release (1.89.0) system library (previosly present as stub library) was removed: https://github.com/boostorg/system/commit/7a495bb46d7ccd808e4be2a6589260839b0fd3a3
Issue about it: https://github.com/boostorg/system/issues/132
We've getting error when building:
#8 4.430 -- Could NOT find Boost: missing: system (found /soft/boost-1.89.0/lib/cmake/Boost-1.89.0/BoostConfig.cmake (found suitable version "1.89.0", minimum required is "1.59.0"))
#8 4.432 BOOST_INCLUDEDIR =
#8 4.432 BOOST_LIBRARYDIR =
#8 4.432 Boost_FOUND = FALSE
#8 4.435 CMake Error at CMakeLists.txt:473 (message):
#8 4.435 Salmon cannot be compiled without Boost.
Here is part of CMakeLists.txt with this checks:
https://github.com/COMBINE-lab/salmon/blob/master/CMakeLists.txt#L432-L464
find_package(Boost 1.59.0 COMPONENTS iostreams system filesystem timer chrono program_options)
...
find_package(Boost 1.59.0 COMPONENTS iostreams system filesystem timer chrono program_options locale REQUIRED)
We've patched CMakeLists.txt same way as in this PR: https://github.com/pavel-odintsov/fastnetmon/pull/1038
sed -Ei 's|(find_package\(Boost.*) system([a-z_ ]*)( REQUIRED)?\)|\1\2 OPTIONAL_COMPONENTS system\3)|' "$SOFT/salmon-${SALMON_VERSION}-src/CMakeLists.txt"
find_package(Boost 1.59.0 COMPONENTS iostreams filesystem timer chrono program_options OPTIONAL_COMPONENTS system)
find_package(Boost 1.59.0 COMPONENTS iostreams filesystem timer chrono program_options locale OPTIONAL_COMPONENTS system REQUIRED)
Looks like now everything is ok:
#8 40.47 BOOST_INCLUDEDIR =
#8 40.47 BOOST_LIBRARYDIR =
#8 40.47 Boost_FOUND = TRUE
#8 40.47 BOOST ROOT =
#8 40.47 BOOST INCLUDE DIR = /soft/boost-1.89.0/include
#8 40.47 BOOST INCLUDE DIRS = /soft/boost-1.89.0/include
#8 40.47 BOOST LIB DIR = /soft/boost-1.89.0/lib
#8 40.47 BOOST LIBRARIES = Boost::iostreams;Boost::filesystem;Boost::timer;Boost::chrono;Boost::program_options
Can you fix it, please?