Created attachment 488728 [details] sys-boot/refind-0.10.8/temp/build.log So I have a testing system with SYMLINK_LIB=no LIBDIR_x86=lib cleanly installed from fresh snapshot and migrated as discussed here: https://archives.gentoo.org/gentoo-dev/message/b4a3e2ea1a6dec32b550812c9a25b1dc Refind fails to build with: x86_64-pc-linux-gnu-ld: cannot open linker script file /usr/lib/elf_x86_64_efi.lds: No such file or directory make[1]: *** [Makefile:48: refind_x64.so] Error 1 make[1]: Leaving directory '/var/tmp/portage/sys-boot/refind-0.10.8/work/refind-0.10.8/refind' make: *** [Makefile:68: gnuefi] Error 2
Created attachment 488730 [details] emerge --info output
The problem here is that the location /usr/lib/elf_x86_64_efi.lds is wrong: The make system should look for this file not in /usr/lib/ but in /usr/$(get_libdir)/ Glancing over the makefile, it seems that using EFICRT0=/usr/$(get_libdir) as an additional make parameter (or patching the default in the makefile correspondingly) should do the trick.
Created attachment 518728 [details, diff] SYMLINK_LIB=no patch Looks like GNUEFILIB, EFILIB, EFICRT0 all need the $(get_libdir) treatment. Works on my 17.1 profile, can't vouch for any other configs.
Created attachment 528472 [details, diff] set library paths to build on 64-bit systems Here is another version of the patch. It seems to fit better with the style of the current ebuild - setting the variables where all the rest are getting set. I've been using this patch for the past three versions.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2086a46b5f2e37f49d6ba68a7a82a73a2abcb3b9 commit 2086a46b5f2e37f49d6ba68a7a82a73a2abcb3b9 Author: Sam Jorna <wraeth@gentoo.org> AuthorDate: 2018-04-27 09:20:09 +0000 Commit: Sam Jorna <wraeth@gentoo.org> CommitDate: 2018-04-27 09:20:09 +0000 sys-boot/refind: fix SYMLINK_LIB=no bug 627744 Bug: https://bugs.gentoo.org/627744 Package-Manager: Portage-2.3.31, Repoman-2.3.9 sys-boot/refind/refind-0.11.2.ebuild | 3 +++ 1 file changed, 3 insertions(+)}
Thanks, Georgi, for the patch - it did the trick nicely.
Please reopen: --- # diff refind-0.11.2.ebuild refind-0.11.3.ebuild 6c6 < inherit toolchain-funcs flag-o-matic versionator --- > inherit toolchain-funcs flag-o-matic eapi7-ver 104,106d103 < GNUEFILIB="/usr/$(get_libdir)" < EFILIB="/usr/$(get_libdir)" < EFICRT0="/usr/$(get_libdir)" 183c180 --- Please apply the same to refind-0.11.3
*** Bug 665004 has been marked as a duplicate of this bug. ***
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b6d2187e9c3ba35adeb83431485df503178244c6 commit b6d2187e9c3ba35adeb83431485df503178244c6 Author: Sam Jorna <wraeth@gentoo.org> AuthorDate: 2018-09-02 00:44:21 +0000 Commit: Sam Jorna <wraeth@gentoo.org> CommitDate: 2018-09-02 00:44:21 +0000 sys-boot/refind: fix SIMLINK_LIB=no Bug: https://bugs.gentoo.org/627744 Package-Manager: Portage-2.3.48, Repoman-2.3.10 sys-boot/refind/refind-0.11.3.ebuild | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
Sorry, looks like I forked the ebuild from an earlier version. Fixed, and thanks.