Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 627744

Summary: sys-boot/refind fails to build with SYMLINK_LIB=no LIBDIR_x86=lib
Product: Gentoo Linux Reporter: Georgy Yakovlev <gyakovlev>
Component: Current packagesAssignee: Sam Jorna (wraeth) <wraeth>
Status: RESOLVED FIXED    
Severity: normal CC: chutz+bugs.gentoo.org, eulenreich, gyakovlev, jstein, krinpaus, lekto, Martin.Jansa, mgorny, proxy-maint, sveyret, tsmksubc, xaviermiller
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 506276    
Attachments: sys-boot/refind-0.10.8/temp/build.log
emerge --info output
SYMLINK_LIB=no patch
set library paths to build on 64-bit systems

Description Georgy Yakovlev gentoo-dev 2017-08-13 02:55:25 UTC
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
Comment 1 Georgy Yakovlev gentoo-dev 2017-08-13 02:55:55 UTC
Created attachment 488730 [details]
emerge --info output
Comment 2 Martin Väth 2017-12-30 05:01:25 UTC
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.
Comment 3 Wil Reichert 2018-02-09 12:21:36 UTC
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.
Comment 4 Georgi Georgiev 2018-04-25 01:32:43 UTC
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.
Comment 5 Larry the Git Cow gentoo-dev 2018-04-27 09:23:38 UTC
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(+)}
Comment 6 Sam Jorna (wraeth) gentoo-dev 2018-04-27 09:24:49 UTC
Thanks, Georgi, for the patch - it did the trick nicely.
Comment 7 Ulenrich 2018-08-30 16:51:27 UTC
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
Comment 8 Jonas Stein gentoo-dev 2018-09-01 09:37:13 UTC
*** Bug 665004 has been marked as a duplicate of this bug. ***
Comment 9 Larry the Git Cow gentoo-dev 2018-09-02 00:46:29 UTC
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(-)
Comment 10 Sam Jorna (wraeth) gentoo-dev 2018-09-02 00:47:29 UTC
Sorry, looks like I forked the ebuild from an earlier version.

Fixed, and thanks.