Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 937274 - net-libs/wvstreams-4.6.1_p14-r2 - [icu-75.1] [gcc-15] ./.../wvscatterhash.h: error: class WvScatterHash<T, K, Accessor, Comparator>::Iter has no member named xstatus
Summary: net-libs/wvstreams-4.6.1_p14-r2 - [icu-75.1] [gcc-15] ./.../wvscatterhash.h: ...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: gcc-15
  Show dependency tree
 
Reported: 2024-08-04 08:53 UTC by Toralf Förster
Modified: 2025-05-31 11:47 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge-info.txt (emerge-info.txt,18.46 KB, text/plain)
2024-08-04 08:53 UTC, Toralf Förster
Details
emerge-history.txt (emerge-history.txt,202.50 KB, text/plain)
2024-08-04 08:53 UTC, Toralf Förster
Details
environment (environment,95.28 KB, text/plain)
2024-08-04 08:54 UTC, Toralf Förster
Details
etc.clang.tar.xz (etc.clang.tar.xz,1.35 KB, application/x-xz)
2024-08-04 08:54 UTC, Toralf Förster
Details
etc.portage.tar.xz (etc.portage.tar.xz,42.10 KB, application/x-xz)
2024-08-04 08:54 UTC, Toralf Förster
Details
logs.tar.xz (logs.tar.xz,10.40 KB, application/x-xz)
2024-08-04 08:54 UTC, Toralf Förster
Details
net-libs:wvstreams-4.6.1_p14-r2:20240803-230531.log (net-libs:wvstreams-4.6.1_p14-r2:20240803-230531.log,20.91 KB, text/plain)
2024-08-04 08:54 UTC, Toralf Förster
Details
qlist-info.txt.xz (qlist-info.txt.xz,53.00 KB, application/x-xz)
2024-08-04 08:54 UTC, Toralf Förster
Details
temp.tar.xz (temp.tar.xz,25.23 KB, application/x-xz)
2024-08-04 08:54 UTC, Toralf Förster
Details
Remove unused broken method (wvstreams-unused-broken-getstatus.patch,367 bytes, patch)
2025-05-31 08:30 UTC, Martin Väth
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2024-08-04 08:53:56 UTC
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"
Comment 1 Toralf Förster gentoo-dev 2024-08-04 08:53:57 UTC
Created attachment 898929 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2024-08-04 08:53:58 UTC
Created attachment 898930 [details]
emerge-history.txt
Comment 3 Toralf Förster gentoo-dev 2024-08-04 08:54:00 UTC
Created attachment 898931 [details]
environment
Comment 4 Toralf Förster gentoo-dev 2024-08-04 08:54:00 UTC
Created attachment 898932 [details]
etc.clang.tar.xz
Comment 5 Toralf Förster gentoo-dev 2024-08-04 08:54:01 UTC
Created attachment 898933 [details]
etc.portage.tar.xz
Comment 6 Toralf Förster gentoo-dev 2024-08-04 08:54:02 UTC
Created attachment 898934 [details]
logs.tar.xz
Comment 7 Toralf Förster gentoo-dev 2024-08-04 08:54:03 UTC
Created attachment 898935 [details]
net-libs:wvstreams-4.6.1_p14-r2:20240803-230531.log
Comment 8 Toralf Förster gentoo-dev 2024-08-04 08:54:04 UTC
Created attachment 898936 [details]
qlist-info.txt.xz
Comment 9 Toralf Förster gentoo-dev 2024-08-04 08:54:05 UTC
Created attachment 898937 [details]
temp.tar.xz
Comment 10 Martin Väth 2025-05-31 08:27:42 UTC
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.
Comment 11 Martin Väth 2025-05-31 08:30:29 UTC
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.