From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#24832: Hydra generates faulty derivation for gettext-boot0 Date: Mon, 31 Oct 2016 16:13:32 +0100 Message-ID: <87shrcpn4z.fsf@gnu.org> References: <87d1igral2.fsf@gnu.org> <87lgx4d6om.fsf@netris.org> 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]:47443) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1EHm-0006QK-KY for bug-guix@gnu.org; Mon, 31 Oct 2016 11:14:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1EHi-0006YW-Ld for bug-guix@gnu.org; Mon, 31 Oct 2016 11:14:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:51022) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1c1EHi-0006YR-Ho for bug-guix@gnu.org; Mon, 31 Oct 2016 11:14:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87lgx4d6om.fsf@netris.org> (Mark H. Weaver's message of "Mon, 31 Oct 2016 08:49:45 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Mark H Weaver Cc: 24832@debbugs.gnu.org Hi Mark, Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: >> The bug stems from =E2=80=98ld-wrapper-boot0=E2=80=99 and was introduced= in >> d75acc293dd3e63db8739aa04c021df917aa1b80. The problem is that >> =E2=80=98ld-wrapper-boot0=E2=80=99 uses the value of (%current-system) o= n the machine >> that builds the derivation i.e., hydra.gnu.org. >>=20 >> Instead, it should use the value of the system we=E2=80=99re building fo= r, so >> its evaluation should be delayed, as is the case for =E2=80=98inputs=E2= =80=99 fields. >>=20 >> The result of this bug is that =E2=80=98ld-wrapper-boot0=E2=80=99 is bog= us on all arches >> except x86_64. However, this is harmless: we don=E2=80=99t need this ld= wrapper >> anyway, except for GNU/Hurd. >>=20 >> So, a short-term hack might be this: >>=20 >> diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.s= cm >> index 53ba718..0a8e608 100644 >> --- a/gnu/packages/commencement.scm >> +++ b/gnu/packages/commencement.scm >> @@ -424,8 +424,8 @@ the bootstrap environment." >> (define ld-wrapper-boot0 >> ;; We need this so binaries on Hurd will have libmachuser and libhurd= user >> ;; in their RUNPATH, otherwise validate-runpath will fail. >> - (make-ld-wrapper (string-append "ld-wrapper-" (boot-triplet)) >> - #:target (boot-triplet) >> + (make-ld-wrapper (string-append "ld-wrapper-" "x86_64-guix-linux-gnu") >> + #:target "x86_64-guix-linux-gnu" >> #:binutils binutils-boot0 >> #:guile %bootstrap-guile >> #:bash (car (assoc-ref %boot0-inputs "bash")))) >>=20 >> That way, we would not have to rebuild anything (it temporarily breaks >> GNU/Hurd though, but that=E2=80=99s the cost we=E2=80=99d have to pay.) >>=20 >> How does that sound? > > Ah, nice! Could be avoid breaking GNU/Hurd by delaying evaluation of > =E2=80=98ld-wrapper-boot0=E2=80=99 right now, but temporarily rigging it = so that on all > _non-Hurd_ platforms, the hard-coded value "x86_64-guix-linux-gnu" is > used? Good idea. I committed something along these lines as 5bde4503eeaa1d772744abcf87afc29eb0e9329d. We=E2=80=99ll have to remove the workaround on the next cycle. Thanks, Ludo=E2=80=99.