diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-10-01 11:29:54 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-10-01 12:45:38 +0200 |
commit | 58abd5873985e0cd9a2926867bf697c5e7bc01f9 (patch) | |
tree | b5e955fea6efd63601e8a47ad622e44e6f5fd98b | |
parent | 9556ac498fd648147ad7d3b52ec86202d0a8e171 (diff) | |
download | guix-58abd5873985e0cd9a2926867bf697c5e7bc01f9.tar.gz |
pack: Work around ld.so bug that affects the "fakechroot" engine.
Fixes <https://bugs.gnu.org/43491>. * guix/scripts/pack.scm (wrapped-package): Use (runpath program) instead of (runpath #$(audit-module)).
-rw-r--r-- | guix/scripts/pack.scm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 379e6a3ac6..bab3a3e2e4 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -817,11 +817,17 @@ last resort for relocation." (string-append "-DLOADER_AUDIT_MODULE=\"" #$(audit-module) "\"") + + ;; XXX: Normally (runpath #$(audit-module)) is + ;; enough. However, to work around + ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=26634> + ;; (glibc <= 2.32), pass the whole search path of + ;; PROGRAM, which presumably is a superset of that + ;; of the audit module. (string-append "-DLOADER_AUDIT_RUNPATH={ " (string-join (map object->string - (runpath - #$(audit-module))) + (runpath program)) ", " 'suffix) "NULL }") (if gconv |