[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
Re: ld-wrapper is broken in core-updates due to guile-2.2 (host running guile-2.0)
Fri, 21 Apr 2017 00:02:01 +0200
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)
Sergei Trofimovich <address@hidden> skribis:
> Efraim noticed core-updates breakage on package libgpg-error.
> 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:
> (define* (make-ld-wrapper name #:key
> (target (const #f))
> (guile (canonical-package guile-2.0))
> (bash (canonical-package bash))
> (guile-for-build guile))
> (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:
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