cc -I/var/tmp/portage/app-crypt/efitools-1.9.2/work/efitools-1.9.2/include/ -I/usr/include/efi -I/usr/include/efi/x86_64 -I/usr/include/efi/protocol -O2 -pipe -march=native -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -fno-stack-protector -ffreestanding -fno-stack-check -DGNU_EFI_USE_MS_ABI -DEFI_FUNCTION_WRAPPER -mno-red-zone -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -fno-stack-protector -ffreestanding -fno-stack-check -DGNU_EFI_USE_MS_ABI -DEFI_FUNCTION_WRAPPER -mno-red-zone -DCONFIG_x86_64 -fno-toplevel-reorder -DBUILD_EFI -c console.c -o console.efi.o console.c:360:5: error: ‘EFI_WARN_UNKOWN_GLYPH’ undeclared here (not in a function); did you mean ‘EFI_WARN_UNKNOWN_GLYPH’? 360 | { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, | ^~~~~~~~~~~~~~~~~~~~~ | EFI_WARN_UNKNOWN_GLYPH ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1_no-multilib-20191121-091537 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-9.2.0 * clang: clang version 9.0.0 (tags/RELEASE_900/final) Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/9/bin llvm: 9.0.0 Available Python interpreters, in order of preference: [1] python3.6 [2] python2.7 (fallback) [3] pypy3 (fallback) Available Ruby profiles: [1] ruby24 (with Rubygems) [2] ruby25 (with Rubygems) * Available Rust versions: [1] rust-1.39.0 * repository: ==> /var/db/repos/gentoo/metadata/timestamp.chk <== Mon, 25 Nov 2019 13:46:24 +0000 emerge -qpvO app-crypt/efitools [ebuild N ] app-crypt/efitools-1.9.2 USE="-libressl -static"
Created attachment 597498 [details] emerge-info.txt
Created attachment 597500 [details] app-crypt:efitools-1.9.2:20191125-150827.log
Created attachment 597502 [details] emerge-history.txt
Created attachment 597504 [details] environment
Created attachment 597506 [details] etc.portage.tbz2
Created attachment 597508 [details] temp.tbz2
Created attachment 598616 [details] (ebuild) app-crypt/efitools-1.9.2-r1.ebuild Add inplace regex sed to fix the EFI_WARN_UNKOWN_GLYPH to EFI_WAR_UNKNOWN_GLYPH
Created attachment 600512 [details, diff] efitools-1.9.2-wrong_var_name-with-gnu-efi-3.0.11.patch In <=gnu-efi-3.0.9 variable is named EFI_WARN_UNKOWN_GLYPH in gnu-efi-3.0.11 is renamed in EFI_WARN_UNKNOWN_GLYPH. The patch is only for users with installed >=gnu-efi-3.0.11 because is in this version that variable has changed name from EFI_WARN_UNKOWN_GLYPH to EFI_WARN_UNKNOWN_GLYPH.
i can confirm this. we could either conditionally apply this patch only when gnu-efi is 3.0.11 or maybe change the patch to work for both with some #ifdef. has anyone reported this upstream yet?
Created attachment 602650 [details, diff] patch to console.c with #ifdef to work with new and old gnu-efi Made a new patch which should work with new and old gnu-efi works here. do you want me to apply it @tamiko ?
I reported (due to lack of dev email on twitter) to the maintainer about the bug. here's the tweet https://twitter.com/LordVan/status/1214112291307839488/
FWIW gnu-efi upstream has reverted the removal of EFI_WARN_UNKOWN_GLYPH, but not in a released version yet. https://sourceforge.net/p/gnu-efi/code/ci/9b63de7db6850b2415bb46fa28e0d62fa2f2f50e/
WIth gnu-efi-3.0.9 now removed from the tree, I have no version of gnu-efi that allows efitools to build
sd1 /var/tmp/portage/app-crypt/efitools-1.9.2 # git diff | tee /tmp/efitools.patch diff --git a/work/efitools-1.9.2/lib/console.c b/work/efitools-1.9.2/lib/console.c index 9c10560..b932a44 100644 --- a/work/efitools-1.9.2/lib/console.c +++ b/work/efitools-1.9.2/lib/console.c @@ -357,7 +357,7 @@ static struct { { EFI_SECURITY_VIOLATION, L"Security Violation"}, // warnings - { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"}, + { EFI_WARN_UNKNOWN_GLYPH, L"Warning Unknown Glyph"}, { EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"}, { EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"}, { EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"},
Created attachment 635156 [details, diff] slightly modified patch so it would work.... added a/ and b/ in front of lib and got rid of the _orig
This bug has been reported upstream https://sourceforge.net/p/gnu-efi/bugs/24/ And fixed: https://sourceforge.net/p/gnu-efi/code/ci/9b63de7db6850b2415bb46fa28e0d62fa2f2f50e/ Please update your version of gnu-efi
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=505a2f267b9296fcbaec8b74a2b61edfb48294ab commit 505a2f267b9296fcbaec8b74a2b61edfb48294ab Author: Christophe Lermytte <gentoo@lermytte.be> AuthorDate: 2020-06-22 09:46:41 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2020-06-24 00:05:26 +0000 sys-boot/gnu-efi: bump to 3.0.12 Closes: https://bugs.gentoo.org/701152 Package-Manager: Portage-2.3.101, Repoman-2.3.22 Signed-off-by: Christophe Lermytte <gentoo@lermytte.be> Signed-off-by: Mike Gilbert <floppym@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/16369 sys-boot/gnu-efi/Manifest | 1 + sys-boot/gnu-efi/gnu-efi-3.0.12.ebuild | 87 ++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+)