from /usr/include/string.h:26, from byte/byte_zero.c:2: /usr/include/sys/cdefs.h:249:60: error: macro "__has_attribute" requires an identifier 249 | #if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) | ^ x86_64-pc-linux-gnu-gcc -c fmt/fmt_8longlong.c -I. -pipe -march=native -fno-diagnostics-color -O2 -fomit-frame-pointer make: *** [GNUmakefile:179: byte_zero.o] Error 1 ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_systemd-j3-20210804-091539 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-11.2.0 * clang version 12.0.1 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/12/bin /usr/lib/llvm/12 12.0.1 Python 3.9.6 Available Ruby profiles: [1] ruby26 (with Rubygems) [2] ruby30 (with Rubygems) * Available Rust versions: [1] rust-bin-1.54.0 * The following VMs are available for generation-2: *) AdoptOpenJDK JRE 8.292_p10 [openjdk-jre-bin-8] Available Java Virtual Machines: [1] openjdk-jre-bin-8 system-vm The Glorious Glasgow Haskell Compilation System, version 8.10.4 HEAD of ::gentoo commit 68eaf86ea58f35f3be845a7f2433edb2630e1a2b Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Thu Aug 5 06:53:39 2021 +0000 2021-08-05 06:53:38 UTC emerge -qpvO dev-libs/libowfat [ebuild N ] dev-libs/libowfat-0.32-r2 USE="-diet"
Created attachment 730275 [details] emerge-info.txt
Created attachment 730278 [details] dev-libs:libowfat-0.32-r2:20210805-080724.log
Created attachment 730281 [details] emerge-history.txt
Created attachment 730284 [details] environment
Created attachment 730287 [details] etc.portage.tar.bz2
Created attachment 730290 [details] temp.tar.bz2
The reason is that this defines __pure__ to empty and uses it as a name for __attribute__((pure)). This has been fixed in upstream CVS. I asked for a new version to avoid backporting, lets see if that works.
(In reply to Rolf Eike Beer from comment #7) > The reason is that this defines __pure__ to empty and uses it as a name for > __attribute__((pure)). This has been fixed in upstream CVS. I asked for a > new version to avoid backporting, lets see if that works. Any news?
(In reply to Sam James from comment #8) > (In reply to Rolf Eike Beer from comment #7) > > The reason is that this defines __pure__ to empty and uses it as a name for > > __attribute__((pure)). This has been fixed in upstream CVS. I asked for a > > new version to avoid backporting, lets see if that works. > > Any news? ping
No new release yet, I'll cook up a patch myself in the next days.
Can you please try the following as I don't have a glibc-2.34 system around: +src_prepare() { + default + + # do not define "__pure__", this collides with the gcc builtin (bug #806505) + sed 's#__pure__;#__attribute__((__pure__));#' -i fmt.h scan.h byte.h stralloc.h str.h critbit.h || die + sed 's#__pure__$#__attrib__pure__#' -i fmt.h scan.h byte.h stralloc.h str.h critbit.h || die +}
tinderbox has reproduced this issue with version 0.32-r4 - Updating summary.
Created attachment 751734 [details] Build log with patch
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=914a4aa87415dabfe77181a2365766417a5919a4 commit 914a4aa87415dabfe77181a2365766417a5919a4 Author: Rolf Eike Beer <eike@sf-mail.de> AuthorDate: 2021-11-17 15:56:46 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-11-17 21:55:57 +0000 dev-libs/libowfat: fix build with sys-libs/glibc-2.34 Closes: https://bugs.gentoo.org/806505 Signed-off-by: Rolf Eike Beer <eike@sf-mail.de> Signed-off-by: Sam James <sam@gentoo.org> .../{libowfat-0.32-r4.ebuild => libowfat-0.32-r5.ebuild} | 10 ++++++++++ 1 file changed, 10 insertions(+)