It tends to generate a lot of output around:
CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1204 (message): New Boost version may have incorrect or missing dependencies and imported targets
Specifically for trying to build FreeCAD it KIND OF finds the libraries:
-- Found Boost: /usr/include (found suitable version "1.75.0", minimum required is "1.55") found components: filesystem program_options regex system thread chrono date_time atomic
But then later:
CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1204 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/share/cmake/Modules/FindBoost.cmake:1326 (_Boost_COMPONENT_DEPENDENCIES) /usr/share/cmake/Modules/FindBoost.cmake:1935 (_Boost_MISSING_DEPENDENCIES) src/Mod/Path/libarea/CMakeLists.txt:20 (find_package) -- Found Boost: /usr/include (found version "1.75.0") found components: python39 -- found Boost: 1_75 -- boost-incude dirs are: /usr/include -- boost-python lib is: -- boost_LIBRARY_DIRS is: /usr/lib64 -- Boost_LIBRARIES is: /usr/lib64/libboost_python39.so
And then freecad (a fork testing vtk9 compatibility) fails with:
/usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >
::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char
const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `vtable for boost::program_options::error_with_option_name' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::variables_map::variables_map()' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::error_with_option_name::what() const' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::re_detail_107500::verify_options(unsigned int, boost::regex_constants::_match_flags)' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `typeinfo for boost::program_options::error_with_option_name' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::re_detail_107500::get_mem_block()' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `typeinfo for boost::regex_error ...
But when FreeCADApp is actually linking only /usr/lib64/libboost_serialization.so is linked against.
Full log:
https://copr-be.cloud.fedoraproject.org/results/orion/vtk9.0/fedora-rawhide-...
WTH!?!?! What a mess.
Thanks, Richard
It looks like upstream CMake hasn't updated the FindBoost.cmake file they bundle ( https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/FindBoost.cmake...). I have opened an upstream issue with CMake at https://gitlab.kitware.com/cmake/cmake/-/issues/21773 since this also affects some of the projects I develop.
-Ian
On Wed, Feb 3, 2021 at 2:55 PM Richard Shaw hobbes1069@gmail.com wrote:
It tends to generate a lot of output around:
CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1204 (message): New Boost version may have incorrect or missing dependencies and imported targets
Specifically for trying to build FreeCAD it KIND OF finds the libraries:
-- Found Boost: /usr/include (found suitable version "1.75.0", minimum required is "1.55") found components: filesystem program_options regex system thread chrono date_time atomic
But then later:
CMake Warning at /usr/share/cmake/Modules/FindBoost.cmake:1204 (message): New Boost version may have incorrect or missing dependencies and imported targets Call Stack (most recent call first): /usr/share/cmake/Modules/FindBoost.cmake:1326 (_Boost_COMPONENT_DEPENDENCIES) /usr/share/cmake/Modules/FindBoost.cmake:1935 (_Boost_MISSING_DEPENDENCIES) src/Mod/Path/libarea/CMakeLists.txt:20 (find_package) -- Found Boost: /usr/include (found version "1.75.0") found components: python39 -- found Boost: 1_75 -- boost-incude dirs are: /usr/include -- boost-python lib is: -- boost_LIBRARY_DIRS is: /usr/lib64 -- Boost_LIBRARIES is: /usr/lib64/libboost_python39.so
And then freecad (a fork testing vtk9 compatibility) fails with:
/usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >
::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char
const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::abstract_variables_map::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `vtable for boost::program_options::error_with_option_name' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::variables_map::variables_map()' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::program_options::error_with_option_name::what() const' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::re_detail_107500::verify_options(unsigned int, boost::regex_constants::_match_flags)' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `typeinfo for boost::program_options::error_with_option_name' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `boost::re_detail_107500::get_mem_block()' /usr/bin/ld: ../../lib/libFreeCADApp.so: undefined reference to `typeinfo for boost::regex_error ...
But when FreeCADApp is actually linking only /usr/lib64/libboost_serialization.so is linked against.
Full log:
https://copr-be.cloud.fedoraproject.org/results/orion/vtk9.0/fedora-rawhide-...
WTH!?!?! What a mess.
Thanks, Richard _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-leave@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org