The modification introduced in =sys-boot/gnu-efi-3.0.18-r4 relies on parsing the compiler output in C locale. The C locale is switched using the LANG env var. The problem is that LANG is the locale var with the lowest precedence. On system setting LC_ALL system wide, this results in parsing the compiler with the wrong locale. The ebuild should use the env var with the highest precedence value instead to cover all use cases, which is LC_ALL. Reproducible: Always Steps to Reproduce: 1. set LC_ALL system wide to something not english 2. emerge gnu-efi 3. Actual Results: >>> Unpacking source... >>> Unpacking gnu-efi-3.0.18.tar.bz2 to /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work >>> Source unpacked in /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work >>> Preparing source in /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18 ... * Applying gnu-efi-3.0.18-clang.patch ...[ ok ] * Applying gnu-efi-3.0.18-remove-linux-headers.patch ...[ ok ] >>> Source prepared. >>> Configuring source in /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18 ... >>> Source configured. >>> Compiling source in /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18 ... make -j13 -j1 ARCH=x86_64 HOSTCC=x86_64-pc-linux-gnu-gcc CC=x86_64-pc-linux-gnu-gcc AS=x86_64-pc-linux-gnu-as LD=x86_64-pc-linux-gnu-ld AR=x86_64-pc-linux-gnu-ar OBJCOPY=x86_64-pc-linux-gnu-objcopy PREFIX=/usr LIBDIR=$(PREFIX)/lib64 mkdir -p /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18/x86_64/lib make -C /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18/x86_64/lib -f /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/Makefile SRCDIR=/var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib ARCH=x86_64 make[1] : on entre dans le répertoire « /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18/x86_64/lib » x86_64-pc-linux-gnu-gcc -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/../inc -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/../inc/x86_64 -I/var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3. 0.18//lib/../inc/protocol -nostdinc -isystem /include -isystem /usr/include -Wno-error=pragmas -mno-red-zone -mno-avx -fPIE -g -O2 -Wall -Wextra -Wno-pointer-sign -funsigned-char -fshort-wchar -fno-strict-aliasing -ffreestanding -fno-stack-protector -fno-stack-check -fno-merge-all-constants -Wno-error=pragmas -mno-r ed-zone -mno-avx -fPIE -g -O2 -Wall -Wextra -Wno-pointer-sign -funsigned-char -fshort-wchar -fno-strict-aliasing -ffreestanding -fno-stack-protector -fno-stack-check -fno-merge-all-constants -DCONFIG_x86_64 -std=c11 -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args -c /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gn u-efi-3.0.18//lib/boxdraw.c -o boxdraw.o Dans le fichier inclus depuis /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/../inc/efi.h:46, depuis /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/../inc/lib.h:23, depuis /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/boxdraw.c:18: /var/tmp/portage/sys-boot/gnu-efi-3.0.18-r4/work/gnu-efi-3.0.18//lib/../inc/x86_64/efibind.h:99:10: erreur fatale: stddef.h : Aucun fichier ou dossier de ce nom 99 | #include <stddef.h> | ^~~~~~~~~~
Created attachment 901400 [details, diff] gnu-efi-3.0.18-r4.ebuild.patch Patch of the ebuild fixing the issue.
emerge --info as a comment, build.log (compressed if necessary) as an attachment?
I usually specify both LANG and LC_ALL, I did it above for objcopy. But that's unnecessary, so I'll set only LC_ALL in all places. Thanks!
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a786643b846ca4f1c12121f3a3a82b47229e8c25 commit a786643b846ca4f1c12121f3a3a82b47229e8c25 Author: Viorel Munteanu <ceamac@gentoo.org> AuthorDate: 2024-08-28 15:07:01 +0000 Commit: Viorel Munteanu <ceamac@gentoo.org> CommitDate: 2024-08-28 15:13:59 +0000 sys-boot/gnu-efi: fix compilation on different locales Closes: https://bugs.gentoo.org/938580 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org> sys-boot/gnu-efi/gnu-efi-3.0.18-r4.ebuild | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Additionally, it has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=08a69400ed7aa6f0b3d522f012924f547f31e4bb commit 08a69400ed7aa6f0b3d522f012924f547f31e4bb Author: Viorel Munteanu <ceamac@gentoo.org> AuthorDate: 2024-08-28 15:07:24 +0000 Commit: Viorel Munteanu <ceamac@gentoo.org> CommitDate: 2024-08-28 15:14:00 +0000 sys-boot/refind: fix compilation on different locales Bug: https://bugs.gentoo.org/938580 Signed-off-by: Viorel Munteanu <ceamac@gentoo.org> sys-boot/refind/refind-0.14.2-r2.ebuild | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)