too long lines were shrinked: x86_64-pc-linux-gnu-g++ -c -o utils/wvfork.o utils/wvfork.cc -MMD -MF utils/.wvfork.d -MP -MQ utils/wvfork.o -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -Iyes/include -DDEBUG=0 -I./include -D_DEFAULT_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUNSTABLE -O2 -pipe -march=native -fno- ./CXX -c utils/wvhash x86_64-pc-linux-gnu-g++ -c -o utils/wvhash.o utils/wvhash.cc -MMD -MF utils/.wvhash.d -MP -MQ utils/wvhash.o -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -Iyes/include -DDEBUG=0 -I./include -D_DEFAULT_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUNSTABLE -O2 -pipe -march=native -fno- In file included from ./include/wvfork.h:18, from utils/wvfork.cc:22: ./include/wvscatterhash.h: In member function 'unsigned char* WvScatterHash<T, K, Accessor, Comparator>::Iter::getstatus()': ./include/wvscatterhash.h:186:52: error: 'class WvScatterHash<T, K, Accessor, Comparator>::Iter' has no member named 'xstatus'; did you mean 'getstatus'? 186 | unsigned char *getstatus() { return &this->xstatus[index-1]; } | ^~~~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 23.0_hardened_systemd-20240801-090532 UNMASKED: Please re-assign to toolchain@ if you get a test failure in C, C++, or Fortran code which makes no sense. <sys-devel/gcc-15.0.9999:15 Requested by sam ~dev-libs/icu-75.1 ~dev-libs/icu-layoutex-75.1 The attached etc.portage.tar.xz has all details. ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-15 * clang/llvm (if any): clang version 18.1.8 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/18/bin Configuration file: /etc/clang/x86_64-pc-linux-gnu-clang.cfg /usr/lib/llvm/18 18.1.8 Python 3.12.4 Available Ruby profiles: [1] ruby31 (with Rubygems) [2] ruby32 (with Rubygems) [3] ruby33 (with Rubygems) * Available Rust versions: [1] rust-bin-1.79.0 * The following VMs are available for generation-2: 1) Eclipse Temurin JDK 11.0.24_p8 [openjdk-bin-11] 2) Eclipse Temurin JDK 17.0.12_p7 [openjdk-bin-17] *) Eclipse Temurin JDK 21.0.4_p7 [openjdk-bin-21] 4) Eclipse Temurin JDK 8.422_p05 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-bin-8 [2] openjdk-bin-11 [3] openjdk-bin-17 [4] openjdk-bin-21 system-vm The Glorious Glasgow Haskell Compilation System, version 9.2.8 php cli (if any): go version go1.22.5 linux/amd64 HEAD of ::gentoo commit 0dda42ed75c3b99bf370f485c8072f38c8c9c8b1 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Sat Aug 3 20:03:57 2024 +0000 2024-08-03 20:03:56 UTC emerge -qpvO net-libs/wvstreams [ebuild N ] net-libs/wvstreams-4.6.1_p14-r2 USE="dbus pam -boost -debug -doc"
Created attachment 898929 [details] emerge-info.txt
Created attachment 898930 [details] emerge-history.txt
Created attachment 898931 [details] environment
Created attachment 898932 [details] etc.clang.tar.xz
Created attachment 898933 [details] etc.portage.tar.xz
Created attachment 898934 [details] logs.tar.xz
Created attachment 898935 [details] net-libs:wvstreams-4.6.1_p14-r2:20240803-230531.log
Created attachment 898936 [details] qlist-info.txt.xz
Created attachment 898937 [details] temp.tar.xz
This was a hard one: The symbol xstatus is indeed undefined in this context, for any c++ dialect. So how could this code every compile on any gcc version? It turns out that actually this whole broken getstatus() method with the undefined symbol is never used. Since by definition it is only inlined, apparently earlier gcc versions did not complain about the faulty method if it is not used. The solution is simply to remove the whole method from the source code. I attach a patch.
Created attachment 930128 [details, diff] Remove unused broken method As the method is never used, the patch should be safe to apply. It fixes the compilation issue with gcc-15 (and probably other compilers) for me.