/usr/include/robin_hood.h:1705:9: required from robin_hood::detail::Table<IsFlat, MaxLoadFactor100, Key, T, Hash, KeyEqual>::~Table() [with bool IsFlat = true; long unsigned int MaxLoadFactor100 = 80; Key = unsigned int; T = OperandInfo; Hash = robin_hood::hash<unsigned int>; KeyEqual = std::equal_to<unsigned int>] 1705 | destroy(); | ^~~~~~~ /var/tmp/portage/media-libs/vulkan-layers-1.3.290.0/work/Vulkan-ValidationLayers-vulkan-sdk-1.3.290.0/layers/vulkan/generated/spirv_grammar_helper.cpp:2285:5: required from here 2285 | }; // clang-format on | ^ /usr/include/robin_hood.h:1209:28: error: class robin_hood::detail::Table<true, 80, unsigned int, OperandInfo, robin_hood::hash<unsigned int>, std::equal_to<unsigned int> > has no member named mInfo 1209 | if (0 != m.mInfo[idx]) { | ~~^~~~~ ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 23.0_no_multilib_systemd-20240808-163800 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.5 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: *) Eclipse Temurin JDK 21.0.4_p7 [openjdk-bin-21] Available Java Virtual Machines: [1] openjdk-bin-21 system-vm The Glorious Glasgow Haskell Compilation System, version 9.2.8 php cli (if any): go version go1.22.6 linux/amd64 HEAD of ::gentoo commit 328dbaf2468bcd93ba67e0693cc1c692019f41b3 Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Fri Aug 9 23:03:57 2024 +0000 2024-08-09 23:03:56 UTC emerge -qpvO =media-libs/vulkan-layers-1.3.290.0 [ebuild N ] media-libs/vulkan-layers-1.3.290.0 USE="X -wayland"
Created attachment 899733 [details] emerge-info.txt
Created attachment 899734 [details] emerge-history.txt
Created attachment 899735 [details] environment
Created attachment 899736 [details] etc.clang.tar.xz
Created attachment 899737 [details] etc.portage.tar.xz
Created attachment 899738 [details] media-libs:vulkan-layers-1.3.290.0:20240809-232248.log
Created attachment 899739 [details] qlist-info.txt
Created attachment 899740 [details] temp.tar.xz
I can reproduce this with sys-devel/gcc-15.0.0_pre20240804 (unkeyworded) but not with the latest unstable keyworded version sys-devel/gcc-14.2.0. Seems like gcc issue, unclear if compiler bug or existing issue in the code exposed by a compiler change. Reassigning to toolchain.
The bit I've been pasting for these is: """ GCC 15 now diagnoses failed lookups in non-instantiated templates since r15-2117-g313afcfdabeab3 [0]. This exposes broken latent code. [0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=r15-2117-g313afcfdabeab3. """ Clang 19 makes the same change. Now, here, I think we're in some bad luck, as it looks like the broken template is in /usr/include/robin_hood.h which is archived upstream? :(
We could just add a gentoo-only patch to fix it right?
Yeah, that should be fine.
Is that something the toolchain team can handle or should I try to figure it out? Thanks
Can you take a look, then punt it to us if you get stuck? It should be straightforward (maybe look at the other fixes on the tracker if stuck) but at worst, if nothing else uses robin-hood, we can even remove the template if necessary because this only shows up in templates which weren't instantiated.
Will do
Oh wow it's literally just a cstdint include, I thought it was the dependent type lookup change. This is luckily trivial. I should have read the error more closely before reassigning, my bad.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8f532e79627b5ded47979f9d9707d49ab306fab0 commit 8f532e79627b5ded47979f9d9707d49ab306fab0 Author: Nick Sarnie <sarnex@gentoo.org> AuthorDate: 2024-08-16 02:05:59 +0000 Commit: Nick Sarnie <sarnex@gentoo.org> CommitDate: 2024-08-16 02:08:04 +0000 dev-cpp/robin-hood-hashing: Fix build with gcc-15 Closes: https://bugs.gentoo.org/937693 Signed-off-by: Nick Sarnie <sarnex@gentoo.org> .../files/robin-hood-hashing-include-cstdint.patch | 12 +++++++++++ .../robin-hood-hashing-3.11.5-r2.ebuild | 25 ++++++++++++++++++++++ 2 files changed, 37 insertions(+)
Haha, I just assumed it must be the template stuff from the snippet, oops :D (We've had loads which look _exactly_ like this, where it's like "minfo" instead of "m_info" or similar)
At least it was easy! Thanks for the help!