From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) 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 Message-ID: <87y3uukaau.fsf@gnu.org> References: <20170414215947.56e464b3@sf> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d1K9V-0001LC-Bx for guix-devel@gnu.org; Thu, 20 Apr 2017 18:02:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d1K9U-0002ZS-DB for guix-devel@gnu.org; Thu, 20 Apr 2017 18:02:13 -0400 In-Reply-To: <20170414215947.56e464b3@sf> (Sergei Trofimovich's message of "Fri, 14 Apr 2017 21:59:47 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Sergei Trofimovich Cc: guix-devel@gnu.org Hello, Sergei Trofimovich 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=3Dcore-updates&id=3D= 78dea6f1d4a85dd9571ccbd604239912ba3a18b8 The problem here is that =E2=80=98ld-wrapper=E2=80=99 in commencement.scm w= as 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=E2=80=99.