Hello, Sergei Trofimovich <sly...@inbox.ru> 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’.