GNU bug report logs -
#26048
Use absolute file names in NEED instead of adding many entries to RUNPATH
Previous Next
Reported by: ludo <at> gnu.org (Ludovic Courtès)
Date: Fri, 10 Mar 2017 15:02:02 UTC
Severity: normal
Tags: wontfix
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello!
As Andy just noted on IRC, shared library lookup is inefficient in Guix,
because there’s one entry per library in RUNPATH. So we get:
--8<---------------cut here---------------start------------->8---
open("/gnu/store/y8ppqsxiki39n4mqpb4mab6bgwqsnnp7-libgc-7.4.2/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/gnu/store/w0bkj9qh7iqcklm5ld8ghg1ynnzqyv00-libffi-3.2.1/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/gnu/store/d5gw4i6bnyznmbr55ba39bl3pgrhsyp0-libunistring-0.9.6/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/gnu/store/6k08nkddnrb15h5pwp1s0fa94mr1qas9-gmp-6.1.1/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/gnu/store/9yn89bkl8vcg5rh9dmw3jijciwgrwjls-libltdl-2.4.6/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/gnu/store/iwgi9001dmmihrjg4rqhd6pa6788prjw-glibc-2.24/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
--8<---------------cut here---------------end--------------->8---
An alternate approach would be for ld-wrapper to replace “-lfoo” with
“/gnu/store/…/libfoo.so”, which would add the absolute file name as
NEEDed in the ELF file.
Ludo’.
This bug report was last modified 7 years and 183 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.