Trying to build QuantLib-1.38 on RHEL8 using RedHat-provided g++ 14.2.1. The RedHat-provided boost is of version 1.66, which satisfies QL's formal requirements.
Invoked cmake thus:
mkdir build1
cd build1
cmake .. -DCMAKE_CXX_COMPILER=/opt/rh/gcc-toolset-14/root/bin/g++ -DQL_USE_PCH=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER -march=native -O3 -pipe -std=c++17" -DQL_ENABLE_SESSIONS=ON -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DQL_USE_STD_CLASSES=ON
The subsequent make compiles everything alright -- with only a few warnings -- but then fails to link the test-, benchmark-, and various example-executables with the same error: undefined reference to boost::system::generic_category()'`.
Applying the following operation to all of the link.txt files generated by cmake:
find . -name link.txt | xargs perl -pi -e 's,$, -lboost_system,'
solves the problem, and the test-executable runs successfully. But the workaround should not be necessary, should it?
Trying to build QuantLib-1.38 on RHEL8 using RedHat-provided g++ 14.2.1. The RedHat-provided boost is of version 1.66, which satisfies QL's formal requirements.
Invoked
cmakethus:The subsequent
makecompiles everything alright -- with only a few warnings -- but then fails to link the test-, benchmark-, and various example-executables with the same error:undefined reference toboost::system::generic_category()'`.Applying the following operation to all of the
link.txtfiles generated bycmake:solves the problem, and the test-executable runs successfully. But the workaround should not be necessary, should it?