[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ld-wrapper is broken in core-updates due to guile-2.2 (host running
From: |
Ludovic Courtès |
Subject: |
Re: ld-wrapper is broken in core-updates due to guile-2.2 (host running guile-2.0) |
Date: |
Fri, 21 Apr 2017 00:02:01 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hello,
Sergei Trofimovich <address@hidden> skribis:
> Efraim noticed core-updates breakage on package libgpg-error.
>
> TL;DR:
>
> ld-wrapper package embeds guile-2.2 interpreter
> to interpret ld.go bytecode built by guile-2.0.
> I have no idea how to fix it but still decided to
> share my findings so far.
>
> Longer story:
[...]
> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n458
>
> (define* (make-ld-wrapper name #:key
> (target (const #f))
> binutils
> (guile (canonical-package guile-2.0))
> (bash (canonical-package bash))
> (guile-for-build guile))
> ...
> (arguments
> (let ((target (target (%current-system))))
> `(#:guile ,guile-for-build
> #:modules ((guix build utils))
> #:builder (begin
> ...
> (chmod ld #o555)
> (compile-file ld #:output-file go))))))
>
> Which guile is being used here for compile-file? 'build-for-build'
> or current host's guile? Looks like the requirement here is that
> both mush be of the same version.
Indeed, good catch! You were on the right track.
I believe this is fixed by this commit:
https://git.savannah.gnu.org/cgit/guix.git/commit/?h=core-updates&id=78dea6f1d4a85dd9571ccbd604239912ba3a18b8
The problem here is that ‘ld-wrapper’ in commencement.scm was defined in
such a way that #:guile and #:guile-for-build did not match, so we ended
up compiling with 2.0 (%bootstrap-guile) and running with 2.2
(guile-final).
Thank you!
Ludo’.