wangqr/Aegisub

Please consider a new release

JamiKettunen opened this issue · 2 comments

v3.3.2 is as of today (June 9th 2022) 60 commits behing dev branch which appears to include a fix for this very cryptic linker error seen while upgrading the Void Linux boost package to v1.79.0:

/usr/bin/ld: CMakeFiles/Aegisub.dir/src/search_replace_engine.cpp.o: undefined reference to symbol '_ZN6icu_708Collator14createInstanceERKNS_6LocaleER10UErrorCode'
/usr/bin/ld: /lib64/libicui18n.so.70: error adding symbols: DSO missing from command line

Downgrading to old boost (v1.72.0) immediately causes thiss linker problem to go away; please consider releasing a new tag soon!

Fwiw the following build warnings are also seen with boost 1.79:

In file included from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
                 from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/detail/yield_k.hpp:23,
                 from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
                 from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/detail/spinlock.hpp:42,
                 from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/detail/spinlock_pool.hpp:25,
                 from /usr/aarch64-linux-musl/usr/include/boost/smart_ptr/shared_ptr.hpp:29,
                 from /usr/aarch64-linux-musl/usr/include/boost/shared_ptr.hpp:17,
                 from /usr/aarch64-linux-musl/usr/include/boost/spirit/home/qi/string/symbols.hpp:30,
                 from /usr/aarch64-linux-musl/usr/include/boost/spirit/home/qi/string.hpp:15,
                 from /usr/aarch64-linux-musl/usr/include/boost/spirit/home/qi.hpp:28,
                 from /usr/aarch64-linux-musl/usr/include/boost/spirit/include/qi.hpp:16,
                 from /builddir/Aegisub-aa1e63f5bfed688711d8b46bf5dbd807d1c07300/libaegisub/common/parser.cpp:22:
/usr/aarch64-linux-musl/usr/include/boost/spirit/include/phoenix_core.hpp:12:1: note: '#pragma message: This header is deprecated. Use <boost/phoenix/core.hpp> instead.'
   12 | BOOST_HEADER_DEPRECATED("<boost/phoenix/core.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/aarch64-linux-musl/usr/include/boost/spirit/include/phoenix_operator.hpp:12:1: note: '#pragma message: This header is deprecated. Use <boost/phoenix/operator.hpp> instead.'
   12 | BOOST_HEADER_DEPRECATED("<boost/phoenix/operator.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~
/usr/aarch64-linux-musl/usr/include/boost/spirit/include/phoenix_fusion.hpp:12:1: note: '#pragma message: This header is deprecated. Use <boost/phoenix/fusion.hpp> instead.'
   12 | BOOST_HEADER_DEPRECATED("<boost/phoenix/fusion.hpp>")
      | ^~~~~~~~~~~~~~~~~~~~~~~

The linker error was found in #113 and fixed in c9d8529. For the moment, you can cherry-pick that commit if using boost>=1.76.0

Thank you for linking the fixing commit. If you don't mind me asking how long does "for the moment" mean? It seems other distros with more maintained boost packages have already had to do this for about a year.