Fails to link after boost update
silentnoodlemaster opened this issue · 2 comments
silentnoodlemaster commented
after updating boost to 1.86 the build fails during linking.
also during build there is a deprecation message:
In file included from /usr/include/boost/config/header_deprecated.hpp:18,
from /usr/include/boost/process/search_path.hpp:7,
from /build/dwarfs/src/dwarfs-0.10.1/src/os_access_generic.cpp:28:
/usr/include/boost/process/search_path.hpp:8:1: note: ‘#pragma message: This header is deprecated. Use <boost/process/v1/search_path.hpp> instead.’
8 | BOOST_HEADER_DEPRECATED("<boost/process/v1/search_path.hpp>")
| ^~~~~~~~~~~~~~~~~~~~~~~
truncated cmake output:
[ 91%] Linking CXX executable dwarfs
/usr/bin/ld: CMakeFiles/dwarfs_main.dir/tools/src/dwarfs_main.cpp.o: in function `boost::process::v2::environment::current_view::iterator::operator++()':
dwarfs_main.cpp:(.text._ZN5boost7process2v211environment12current_view8iteratorppEv[_ZN5boost7process2v211environment12current_view8iteratorppEv]+0x17): undefined reference to `boost::process::v2::environment::detail::next(char const* const*)'
/usr/bin/ld: CMakeFiles/dwarfs_main.dir/tools/src/dwarfs_main.cpp.o: in function `boost::process::v2::environment::current_view::end() const':
dwarfs_main.cpp:(.text._ZNK5boost7process2v211environment12current_view3endEv[_ZNK5boost7process2v211environment12current_view3endEv]+0x2b): undefined reference to `boost::process::v2::environment::detail::find_end(char const* const*)'
/usr/bin/ld: CMakeFiles/dwarfs_main.dir/tools/src/dwarfs_main.cpp.o: in function `boost::process::v2::environment::current_view::current_view()':
dwarfs_main.cpp:(.text._ZN5boost7process2v211environment12current_viewC2Ev[_ZN5boost7process2v211environment12current_viewC5Ev]+0x12): undefined reference to `boost::process::v2::environment::detail::load_native_handle()'
/usr/bin/ld: CMakeFiles/dwarfs_main.dir/tools/src/dwarfs_main.cpp.o: in function `boost::filesystem::path boost::process::v2::environment::find_executable<boost::process::v2::environment::current_view>(boost::filesystem::path, boost::process::v2::environment::current_view&&)':
dwarfs_main.cpp:(.text._ZN5boost7process2v211environment15find_executableINS2_12current_viewEEENS_10filesystem4pathES6_OT_[_ZN5boost7process2v211environment15find_executableINS2_12current_viewEEENS_10filesystem4pathES6_OT_]+0x1c3): undefined reference to `boost::process::v2::environment::detail::is_executable(boost::filesystem::path const&, boost::system::error_code&)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/dwarfs-bin.dir/build.make:141: dwarfs] Error 1
make[1]: *** [CMakeFiles/Makefile2:981: CMakeFiles/dwarfs-bin.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 94%] Linking CXX static library libdwarfs_rewrite.a
[ 94%] Built target dwarfsextract_main
[ 94%] Built target dwarfs_rewrite
make: *** [Makefile:156: all] Error 2
mhx commented
Yeah, this is a known problem and already fixed on the main branch by 6c8a1cd. If it's urgent, I can publish a new release; otherwise it should be possible to just patch the release with the commit diff.
silentnoodlemaster commented
sweet, i'll just apply https://github.com/mhx/dwarfs/commit/6c8a1cdbd3c889c9cdf8bbbfe7c39cc9c25202a0.diff