Process.cc:(.text+0x23ee): undefined reference to `spdlog::details::log_msg::log_msg(spdlog::source_loc, fmt::v8::basic_string_view<char>, spdlog::level::level_enum, fmt::v8::basic_string_view<char>)' ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_no_multilib-j3-20210630-090945 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.1.0 * clang version 12.0.0 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/12/bin /usr/lib/llvm/12 12.0.0 Python 3.9.6 Available Rust versions: [1] rust-bin-1.53.0 * The following VMs are available for generation-2: *) AdoptOpenJDK 8.292_p10 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.10.4 [1] php7.3 [2] php7.4 [3] php8.0 * HEAD of ::gentoo commit b47211f594d1ddd8251a75f77dd7bb9282c4b2d7 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sat Jul 3 22:06:21 2021 +0000 2021-07-03 22:06:20 UTC emerge -qpvO dev-util/bear [ebuild N ] dev-util/bear-3.0.13 USE="-test"
Created attachment 721339 [details] emerge-info.txt
Created attachment 721342 [details] dev-util:bear-3.0.13:20210703-232349.log
Created attachment 721345 [details] emerge-history.txt
Created attachment 721348 [details] environment
Created attachment 721351 [details] etc.portage.tar.bz2
Created attachment 721354 [details] logs.tar.bz2
Created attachment 721357 [details] temp.tar.bz2
usr/lib/gcc/x86_64-pc-linux-gnu/11.1.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib64/libspdlog.so.1.8.5: undefined reference to `fmt::v7::detail::assert_fail(char const*, int, char const*)' collect2: error: ld returned 1 exit status there are known issues with spdlog and libfmt-8 looks like one
added maintainers of spdlog and libfmt for possible input. it does not fail for me with gcc10 though, maybe gcc11 is also a trigger.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6416826991f08ac0f54fc8b1ff4b140bedd29684 commit 6416826991f08ac0f54fc8b1ff4b140bedd29684 Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-07-04 09:08:58 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-07-04 09:10:00 +0000 dev-util/bear: use older fmt Bug: https://bugs.gentoo.org/800236 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-util/bear/{bear-3.0.13.ebuild => bear-3.0.13-r1.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
upstream uses fmt 7.1.3 https://github.com/rizsotto/Bear/blob/master/third_party/fmt/CMakeLists.txt so I limited dep for now @toralf, could you be so kind to re-run the check at some point?
2021-07-01T17:42:28 >>> dev-libs/libfmt-8.0.0-r1 2021-07-01T17:42:49 >>> dev-libs/spdlog-1.8.5-r1 .... 2021-07-03T06:50:38 >>> dev-libs/libfmt-8.0.1 so fmt was rebuilt I tried to dig a little deeper and abidiff between 8.0.0 and 8.0.1 told me the following 43 Removed functions: [D] 'function void fmt::v7::detail::assert_fail(const char*, int, const char*)' {_ZN3fmt2v76detail11assert_failEPKciS3_} 43 Added functions: [A] 'function void fmt::v8::detail::assert_fail(const char*, int, const char*)' {_ZN3fmt2v86detail11assert_failEPKciS3_} and here's the commit https://github.com/fmtlib/fmt/commit/31a5f0d399edbb2000131c9253aa346afddc6387 they've changed namespace without bumping soname/subslot. @candrews ^
*** Bug 800440 has been marked as a duplicate of this bug. ***
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=36e1a9d3833504033edf30fbcebcf964627c879b commit 36e1a9d3833504033edf30fbcebcf964627c879b Author: Georgy Yakovlev <gyakovlev@gentoo.org> AuthorDate: 2021-07-04 19:53:08 +0000 Commit: Georgy Yakovlev <gyakovlev@gentoo.org> CommitDate: 2021-07-04 19:54:21 +0000 dev-libs/libfmt: revbump 8.0.1 and subslot Closes: https://bugs.gentoo.org/800236 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> dev-libs/libfmt/{libfmt-8.0.1.ebuild => libfmt-8.0.1-r1.ebuild} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
I took liberty to non-maintainer fix it, new subslot is 0/8.0.1 (0/${PV}) to stop the breakage. I think it may be reasonable to use it for all ebuilds in the future.
Thanks for addressing this! You beat me to it :-)
(In reply to Craig Andrews from comment #16) > Thanks for addressing this! You beat me to it :-) I assumed you may be out because holidays, so rushed it to prevent delays and user frustration. no prob at all.