GNU bug report logs -
#42558
‘guix pack -RR’: audit library is dynamically linked
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 42558 in the body.
You can then email your comments to 42558 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#42558
; Package
guix
.
(Mon, 27 Jul 2020 14:05:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Ludovic Courtès <ludovic.courtes <at> inria.fr>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Mon, 27 Jul 2020 14:05:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
The audit library created by ‘guix pack -RR’, called ‘pack-audit.so’, is
dynamically-linked. Thus, it cannot be loaded (unless there are working
libgcc.so and libc.so in the search path?), leading to failures like
this:
--8<---------------cut here---------------start------------->8---
$ GUIX_EXECUTION_ENGINE=performance ./bin/sinfo --version
ERROR: ld.so: object '/…/lcourtes/tmp/t/gnu/store/0n6nnvzgxyisg0bszb5zqxp2gzdwh7h3-pack-audit.so' cannot be loaded as audit interface: cannot open shared object file; ignored.
/…/lcourtes/tmp/t/gnu/store/3dhy2f3djmm1h5ix5aa84lrskxzrl6d0-slurm-19.05.3-2/bin//sinfo: error while loading shared libraries: libslurmfull.so: cannot open shared object file: No such file or directory
--8<---------------cut here---------------end--------------->8---
The root cause is that ‘pack-audit.so’ NEEDs libgcc_s.so, which on this
machine could not be loaded, and thus resolving the other dependencies
of the wrapped executable, like ‘libslurmfull.so’ here, fails.
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#42558
; Package
guix
.
(Tue, 28 Jul 2020 12:50:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 42558 <at> debbugs.gnu.org (full text, mbox):
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:
> The audit library created by ‘guix pack -RR’, called ‘pack-audit.so’, is
> dynamically-linked. Thus, it cannot be loaded (unless there are working
> libgcc.so and libc.so in the search path?), leading to failures like
> this:
>
> $ GUIX_EXECUTION_ENGINE=performance ./bin/sinfo --version
> ERROR: ld.so: object '/…/lcourtes/tmp/t/gnu/store/0n6nnvzgxyisg0bszb5zqxp2gzdwh7h3-pack-audit.so' cannot be loaded as audit interface: cannot open shared object file; ignored.
> /…/lcourtes/tmp/t/gnu/store/3dhy2f3djmm1h5ix5aa84lrskxzrl6d0-slurm-19.05.3-2/bin//sinfo: error while loading shared libraries: libslurmfull.so: cannot open shared object file: No such file or directory
>
> The root cause is that ‘pack-audit.so’ NEEDs libgcc_s.so, which on this
> machine could not be loaded, and thus resolving the other dependencies
> of the wrapped executable, like ‘libslurmfull.so’ here, fails.
Fixed by commit c6c0d5a22c2ee3d7164dab0129b2e4852a4ae76c.
How could this happen? I think there are two key factors:
1. Most likely I tested v1 of the patch series on “real” non-Guix
machines, but when iterating on v2 (which removed ‘--library-path’
from the ld.so invocation¹) I probably relied on
‘tests/guix-pack-relocatable.sh’, which emulates a machine where
/gnu is empty by mounting a tmpfs on it.
2. There was another bug in ‘exec_with_loader’ whereby it would
symlink its store to that writable /gnu. Thus, the tests would run
as if the store was already available under /gnu/store, thereby
hiding the actual issue. This second bug is fixed by
c088aa2988ef82289c87ebfd6d07d8f1464dd8f0.
AFAICS we’re all fine now.
You’re very welcome to give it a spin on a Guix-less machine! Just do:
guix pack -RR your favorite packages -S /bin=bin
Send the resulting tarball to that machine, and then:
mkdir test
cd test
tar xf /path/to/pack.tar.gz
GUIX_EXECUTION_ENGINE=fakechroot ./bin/your-favorite-command
Ludo’.
¹ https://issues.guix.gnu.org/41189#8
Added tag(s) fixed.
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 28 Jul 2020 12:50:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
42558 <at> debbugs.gnu.org and Ludovic Courtès <ludovic.courtes <at> inria.fr>
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 28 Jul 2020 12:50:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 26 Aug 2020 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 246 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.