[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#72061: Discrepancy when running ‘guix pull’ from different machines
From: |
Ludovic Courtès |
Subject: |
bug#72061: Discrepancy when running ‘guix pull’ from different machines |
Date: |
Thu, 11 Jul 2024 17:33:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ludovic Courtès <ludo@gnu.org> skribis:
> The “right” one:
>
> $ setarch -R guix time-machine -q --commit=0ff72d105 -- build avahi -d
> /gnu/store/fy39r2y8dg2ycdzvnbqyfd1kpandnpxb-avahi-0.8.drv
>
>
> The “wrong” one:
>
> $ setarch -R guix time-machine -q --commit=0ff72d105 -- build avahi -d
> /gnu/store/vhj8f01bwddshnc75ar5z62ndcij4pgy-avahi-0.8.drv
Turns out the “right” one uses ‘builtin:git-download’, the “wrong” one
doesn’t:
--8<---------------cut here---------------start------------->8---
$ guix time-machine -q --commit=0ff72d105 -- repl
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guix-user)> ,use(guix)
scheme@(guix-user)> (define set-builders! (record-modifier (@@ (guix store)
<store-connection>) 'built-in-builders))
;;; <stdin>:2:0: warning: possibly unused local top-level variable
`set-builders!'
scheme@(guix-user)> (define s (open-connection))
;;; <stdin>:3:0: warning: possibly unused local top-level variable `s'
scheme@(guix-user)> (set-builders! s (delay '("download")))
$1 = #<promise #<procedure 19cdf418 at <unknown port>:4:17 ()>>
scheme@(guix-user)> ,use(gnu packages avahi)
scheme@(guix-user)> ,run-in-store (lower-object avahi)
error: #{ %make-platform-procedure/abi-check}#: unbound variable
hint: Did you forget a `use-modules' form?
$2 = #<derivation /gnu/store/fy39r2y8dg2ycdzvnbqyfd1kpandnpxb-avahi-0.8.drv =>
/gnu/store/4gzpnfm6pw7cwwgrmswrsibbzdxz1j1w-avahi-0.8 7fad68382af0>
scheme@(guix-user)> (run-with-store s (lower-object avahi))
$3 = #<derivation /gnu/store/vhj8f01bwddshnc75ar5z62ndcij4pgy-avahi-0.8.drv =>
/gnu/store/64f62b0klc3mrncad6x79cwfd3smmf8z-avahi-0.8 7fad68d15230>
--8<---------------cut here---------------end--------------->8---
QED.
Presumably whether ‘builtin:git-download’ is used changes the DAG
traversal order, which could explain this discrepancy.
It does mean that all the users running an old guix-daemon find
themselves having no substitutes for ‘guix pull’. Ouch.
Ludo’.