* Package: sys-libs/timezone-data-2022g:0 * Repository: gentoo * Maintainer: toolchain@gentoo.org * USE: elibc_glibc kernel_linux loong nls userland_GNU * FEATURES: preserve-libs sandbox userpriv usersandbox >>> Unpacking source... >>> Unpacking tzdata2022g.tar.gz to /var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g >>> Unpacking tzcode2022g.tar.gz to /var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g >>> Source unpacked in /var/tmp/portage/sys-libs/timezone-data-2022g/work >>> Preparing source in /var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g ... >>> Source configured. >>> Compiling source in /var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g ... make -j32 REDO=posix_only TOPDIR= ZICDIR=$(TOPDIR)/usr/bin AR=loongarch64-unknown-linux-gnu-ar cc=loongarch64-unknown-linux-gnu-gcc RANLIB=loongarch64-unknown-linux-gnu-ranlib 'CFLAGS=-O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\"' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' LDLIBS= { (type git) >/dev/null 2>&1 && \ V=`git describe --match '[0-9][0-9][0-9][0-9][a-z]*' \ --abbrev=7 --dirty` || \ if test 'unknown' = unknown && V=`cat version`; then \ case $V in *-dirty);; *) V=$V-dirty;; esac; \ else \ V='unknown'; \ fi; } && \ printf '%s\n' "$V" >version.out loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o localtime.o localtime.c loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o asctime.o asctime.c loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o strftime.o strftime.c loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o difftime.o difftime.c awk \ -v DATAFORM=`expr main.zi : '\(.*\).zi'` \ -v PACKRATDATA='' \ -v PACKRATLIST='' \ -f ziguard.awk \ africa antarctica asia australasia europe northamerica southamerica etcetera factory backward >main.zi.out awk \ -v DATAFORM=`expr vanguard.zi : '\(.*\).zi'` \ -v PACKRATDATA='' \ -v PACKRATLIST='' \ -f ziguard.awk \ africa antarctica asia australasia europe northamerica southamerica etcetera factory backward >vanguard.zi.out awk \ -v DATAFORM=`expr rearguard.zi : '\(.*\).zi'` \ -v PACKRATDATA='' \ -v PACKRATLIST='' \ -f ziguard.awk \ africa antarctica asia australasia europe northamerica southamerica etcetera factory backward >rearguard.zi.out fatal: not a git repository (or any of the parent directories): .git mv version.out version VERSION=`cat version` && sed \ -e 's|#!/bin/bash|#!/bin/bash|g' \ -e 's|AWK=[^}]*|AWK='\''awk'\''|g' \ -e 's|\(PKGVERSION\)=.*|\1='\''(tzcode) '\''|' \ -e 's|\(REPORT_BUGS_TO\)=.*|\1=tz@iana.org|' \ -e 's|TZDIR=[^}]*|TZDIR=/usr/share/zoneinfo|' \ -e 's|\(TZVERSION\)=.*|\1='"$VERSION"'|' \ <tzselect.ksh >tzselect.out VERSION=`cat version` && printf '%s\n' \ 'static char const PKGVERSION[]="(tzcode) ";' \ "static char const TZVERSION[]=\"$VERSION\";" \ 'static char const REPORT_BUGS_TO[]="tz@iana.org";' \ >version.h.out mv version.h.out version.h loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o zic.o zic.c loongarch64-unknown-linux-gnu-gcc -DTZDIR='"/usr/share/zoneinfo"' -O2 -pipe -std=gnu99 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DHAVE_GETTEXT=1 -DTZ_DOMAIN=\"libc\" -DZIC_BLOAT_DEFAULT=\"fat\" -c -o zdump.o zdump.c chmod +x tzselect.out mv tzselect.out tzselect mv main.zi.out main.zi version=`sed 1q version` && \ LC_ALL=C awk \ -v dataform='main' \ -v deps='ziguard.awk africa antarctica asia australasia europe northamerica southamerica etcetera factory backward zishrink.awk' \ -v redo='posix_only' \ -v version="$version" \ -f zishrink.awk \ main.zi >tzdata.zi.out zdump.c:128:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 128 | static ATTRIBUTE_NORETURN void | ^~~~~~ zdump.c:128:27: error: expected identifier or ‘(’ before ‘void’ 128 | static ATTRIBUTE_NORETURN void | ^~~~ zdump.c: In function ‘sumsize’: zdump.c:149:3: warning: implicit declaration of function ‘size_overflow’ [-Wimplicit-function-declaration] 149 | size_overflow(); | ^~~~~~~~~~~~~ mv rearguard.zi.out rearguard.zi zic.c:462:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 462 | static ATTRIBUTE_NORETURN void | ^~~~~~ zic.c:462:27: error: expected identifier or ‘(’ before ‘void’ 462 | static ATTRIBUTE_NORETURN void | ^~~~ zic.c:469:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 469 | static ATTRIBUTE_NORETURN void | ^~~~~~ zic.c:469:27: error: expected identifier or ‘(’ before ‘void’ 469 | static ATTRIBUTE_NORETURN void | ^~~~ zic.c: In function ‘size_sum’: zic.c:487:3: warning: implicit declaration of function ‘size_overflow’ [-Wimplicit-function-declaration] 487 | size_overflow(); | ^~~~~~~~~~~~~ zic.c: In function ‘memcheck’: zic.c:525:11: warning: implicit declaration of function ‘memory_exhausted’ [-Wimplicit-function-declaration] 525 | memory_exhausted(strerror(HAVE_MALLOC_ERRNO ? errno : ENOMEM)); | ^~~~~~~~~~~~~~~~ zic.c: At top level: zic.c:669:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 669 | static ATTRIBUTE_NORETURN void | ^~~~~~ zic.c:669:27: error: expected identifier or ‘(’ before ‘void’ 669 | static ATTRIBUTE_NORETURN void | ^~~~ make: *** [<builtin>: zdump.o] Error 1 make: *** Waiting for unfinished jobs.... zic.c: In function ‘main’: zic.c:1004:25: warning: implicit declaration of function ‘usage’ [-Wimplicit-function-declaration] 1004 | usage(stdout, EXIT_SUCCESS); | ^~~~~ mv vanguard.zi.out vanguard.zi zic.c: At top level: zic.c:3728:1: warning: ‘noreturn’ attribute ignored [-Wattributes] 3728 | static ATTRIBUTE_NORETURN void | ^~~~~~ zic.c:3728:27: error: expected identifier or ‘(’ before ‘void’ 3728 | static ATTRIBUTE_NORETURN void | ^~~~ zic.c: In function ‘oadd’: zic.c:3746:3: warning: implicit declaration of function ‘time_overflow’ [-Wimplicit-function-declaration] 3746 | time_overflow(); | ^~~~~~~~~~~~~ make: *** [<builtin>: zic.o] Error 1 mv tzdata.zi.out tzdata.zi * ERROR: sys-libs/timezone-data-2022g::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=sys-libs/timezone-data-2022g::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-libs/timezone-data-2022g::gentoo'`. * The complete build log is located at '/var/tmp/portage/sys-libs/timezone-data-2022g/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-libs/timezone-data-2022g/temp/environment'. * Working directory: '/var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g' * S: '/var/tmp/portage/sys-libs/timezone-data-2022g/work/timezone-data-2022g' * Messages for package sys-libs/timezone-data-2022g:
Created attachment 838395 [details] emerge --info
$ emerge -pqv '=sys-libs/timezone-data-2022g::gentoo' [ebuild U ] sys-libs/timezone-data-2022g [2022f-r1] USE="nls -leaps-timezone -zic-slim"
Created attachment 838681 [details] minimal reproducing example
This is present on amd64 with gcc-13 too, likely a gcc-13 bug. With the minimal reproducing example I attached just now: > $ gcc-13 -E -P -std=gnu99 fuck.h > C standard version is 199901L, has "__has_c_attribute" > "__has_c_attribute(noreturn)" = 202202 but: > $ gcc-12.1.1 -E -P -std=gnu99 x.h > C standard version is 199901L, has "__has_c_attribute" > "__has_c_attribute(noreturn)" = 0 > $ clang-15 -E -P -std=gnu99 x.h > > C standard version is 199901L, has "__has_c_attribute" > "__has_c_attribute(noreturn)" = 0
GCC upstream indicates it's timezone-data code being wrong, not GCC bug. Masking this version on loong for the time being, pending an upstream fix.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4237f2cad61fbf7ffdaf832d31e7cd619537074a commit 4237f2cad61fbf7ffdaf832d31e7cd619537074a Author: WANG Xuerui <xen0n@gentoo.org> AuthorDate: 2022-12-01 14:07:33 +0000 Commit: WANG Xuerui <xen0n@gentoo.org> CommitDate: 2022-12-01 14:07:33 +0000 profiles/arch/loong: mask =sys-libs/timezone-data-2022g Bug: https://bugs.gentoo.org/883719 Signed-off-by: WANG Xuerui <xen0n@gentoo.org> profiles/arch/loong/package.mask | 5 +++++ 1 file changed, 5 insertions(+)
Thanks for reporting this. I fixed this TZDB bug and the fix should appear in the next TZDB release. Although I cannot give the fix's URL because my Gentoo account is too new, you can see the fix by visiting GitHub, looking for user eggert, repository tz, commit 9cfe9507fcc22cd4a0c4da486ea1c7f0de6b075f.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9705417206ffb856164627f9b3ee7f49931ff8f7 commit 9705417206ffb856164627f9b3ee7f49931ff8f7 Author: WANG Xuerui <xen0n@gentoo.org> AuthorDate: 2022-12-02 03:11:27 +0000 Commit: WANG Xuerui <xen0n@gentoo.org> CommitDate: 2022-12-02 03:26:00 +0000 sys-libs/timezone-data: fix C23 conformance / gcc-13 build for 2022g Closes: https://bugs.gentoo.org/883719 Reviewed-by: Sam James <sam@gentoo.org> Signed-off-by: WANG Xuerui <xen0n@gentoo.org> .../files/timezone-data-2022g-c23.patch | 279 +++++++++++++++++++++ sys-libs/timezone-data/timezone-data-2022g.ebuild | 4 + 2 files changed, 283 insertions(+)