GNU bug report logs - #55951
Lowering an <operating-system> is sensitive to (%current-system)

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Mon, 13 Jun 2022 21:24:02 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Subject: bug#55951: closed (Re: bug#55951: Lowering an <operating-system>
 is sensitive to (%current-system))
Date: Tue, 14 Jun 2022 22:34:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#55951: Lowering an <operating-system> is sensitive to (%current-system)

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 55951 <at> debbugs.gnu.org.

-- 
55951: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55951
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 55951-done <at> debbugs.gnu.org
Subject: Re: bug#55951: Lowering an <operating-system> is sensitive to
 (%current-system)
Date: Wed, 15 Jun 2022 00:32:54 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

> Consider this file:
>
> (use-modules (guix))
>
> (lambda ()
>   (lower-object (load "overdrive1.scm") "aarch64-linux"))
>
> When ran on x86_64-linux, these two commands return different
> derivations, contrary to what one might expect:
>
>   guix build -f that-file.scm -d --no-grafts -s aarch64-linux
>   guix build -f that-file.scm -d --no-grafts

Fixed in 7046e777212233b89df68379c270b448c45195ce.

Ludo’.

[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: bug-guix <at> gnu.org
Subject: Lowering an <operating-system> is sensitive to (%current-system)
Date: Mon, 13 Jun 2022 23:23:14 +0200
Consider this file:

--8<---------------cut here---------------start------------->8---
(use-modules (guix))

(lambda ()
  (lower-object (load "overdrive1.scm") "aarch64-linux"))
--8<---------------cut here---------------end--------------->8---

When ran on x86_64-linux, these two commands return different
derivations, contrary to what one might expect:

  guix build -f that-file.scm -d --no-grafts -s aarch64-linux
  guix build -f that-file.scm -d --no-grafts

That demonstrates that the result depends on (%current-system), even
though it shouldn’t because we’re explicitly specifying the system.

This has implications on ‘guix deploy’: if you try to deploy
aarch64-linux boxes from x86_64-linux (say), some of the derivations are
going to be for x86_64-linux instead of aarch64-linux, which can lead to
unbootable systems, as Ricardo reported a while back.

In particular, /gnu/store/…-activate.scm.drv (a direct dependency
/gnu/store/…-system.drv) is one of those derivations sensitive to
(%current-system).

Ludo’.



This bug report was last modified 3 years and 31 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.