The following problem was discovered while attempting to configure Guix to use
a locally built Guile tree, via its meta/uninstalled-env script, which would
attempt to use the newer Guile source files and fail with:
Pre-boot error; key: unbound-variable, args: (#f "Unbound variable:
~S" (error) #f)collect2: fatal error: ld terminated with signal 6 [Aborted]
With the following change, a Guix user may now configure their build to use a
locally built Guile with e.g.:
~/src/guile/meta/uninstalled-env ./configure --localstatedir=/var \
--sysconfdir=/etc
* gnu/packages/ld-wrapper.in: Unset GUILE_LOAD_PATH. Also unset
GUILE_SYSTEM_PATH, for symmetry. Streamline exec call, using the now fixed
'-l' option.
(ld-wrapper): Fix args being a nested list, and strip its arg0.
Series-to: 69396@debbugs.gnu.org
Series-postfix: core-updates
Series-version: 2
Series-changes: 2
- Revert to load-compiled scheme to load ld.go
- Refine comment
Change-Id: Iaaa721019f3646d851202bb018214ec9fcc04fd4
'GUILE_SYSTEM_COMPILED_PATH' is set by guile-bootstrap@2.0. Unsetting
it ensures it does not interfere.
* gnu/packages/ld-wrapper.in: Unset GUILE_SYSTEM_COMPILED_PATH.
This was suggested on several occasions, notably
<https://bugs.gnu.org/24544>.
* gnu/packages/ld-wrapper.in (%allow-impurities?): Default to #t and
parse the value of 'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'.
* guix/build/gnu-build-system.scm (set-paths): Set
'GUIX_LD_WRAPPER_ALLOW_IMPURITIES'.
Fixes <http://bugs.gnu.org/25882>.
Reported by Federico Beffa <beffa@fbengineering.ch>.
* gnu/packages/ld-wrapper.in (expand-arguments): New procedure.
(ld-wrapper): Use it.
Fixes <http://bugs.gnu.org/21941>.
* gnu/packages/ld-wrapper.in (library-search-path): New procedure.
(library-files-linked): Add 'library-path' parameter. Use it. Do not
thread it in 'fold'.
(ld-wrapper): Add call to 'library-search-path' and pass the result to
'library-files-linked'. When debugging, print the value of PATH.
Reported at <http://bugs.gnu.org/20102>.
* gnu/packages/ld-wrapper.in (library-files-linked): Rename 'path+files'
to 'path+files+args'. Thread the reverse list of previous arguments.
Add case for when the previous argument is "-dynamic-linker".