Subject: bug#20163: closed (Re: bug#20163: substitute-binary fails when attempting to reconfigure)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 22 Mar 2015 22:46:02 +0000

Your bug report

#20163: substitute-binary fails when attempting to reconfigure

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 [email-masked].

-- 
20163: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20163
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#20163: substitute-binary fails when attempting to reconfigure
From: [email-masked] (Ludovic Courtès)
To: Mark H Weaver <[email-masked]>
Cc: [email-masked]
Date: Sun, 22 Mar 2015 23:45:46 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

This is fixed by commit 4d58122.

The problem was that for clients running as ‘root’, the
“substitute-urls” value that the client passes overrides that of the
daemon.  And the client’s default value was the empty list, which
‘substitute-binary’ currently rejects.

Thank you!

Ludo’.

Subject: substitute-binary fails when attempting to reconfigure
From: Mark H Weaver <[email-masked]>
To: [email-masked]
Date: Sat, 21 Mar 2015 22:53:02 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Running "guix system reconfigure" with substitutes enabled now
consistently fails for me with the following backtrace:

--8<---------------cut here---------------start------------->8---
root:~# ~mhw/bin/guix system reconfigure ~mhw/jojen.scm
substitute-binary: Backtrace:
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:  157: 17 [catch #t #<catch-closure 9a45950> ...]
substitute-binary: In unknown file:
substitute-binary:    ?: 16 [apply-smob/1 #<catch-closure 9a45950>]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:   63: 15 [call-with-prompt prompt0 ...]
substitute-binary: In ice-9/eval.scm:
substitute-binary:  432: 14 [eval # #]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary: 2401: 13 [save-module-excursion #<procedure 9a56ca0 at ice-9/boot-9.scm:4045:3 ()>]
substitute-binary: 4050: 12 [#<procedure 9a56ca0 at ice-9/boot-9.scm:4045:3 ()>]
substitute-binary: 1724: 11 [%start-stack load-stack ...]
substitute-binary: 1729: 10 [#<procedure 9a5b708 ()>]
substitute-binary: In unknown file:
substitute-binary:    ?: 9 [primitive-load "/gnu/store/lhwsnbq2h05m604zpw9wvglkaif8y41h-guix-0.8.1.07157e8/bin/guix"]
substitute-binary: In guix/ui.scm:
substitute-binary:  838: 8 [run-guix-command substitute-binary "--query"]
substitute-binary: In ice-9/boot-9.scm:
substitute-binary:  157: 7 [catch misc-error #<procedure 9e141f0 at guix/ui.scm:839:6 ()> ...]
substitute-binary: 2864: 6 [resolve-interface (guix scripts substitute-binary) #:select ...]
substitute-binary: 2789: 5 [#<procedure 99da000 at ice-9/boot-9.scm:2777:4 (name #:optional autoload version #:key ensure)> # ...]
substitute-binary: 3065: 4 [try-module-autoload (guix scripts substitute-binary) #f]
substitute-binary: 2401: 3 [save-module-excursion #<procedure 9e17870 at ice-9/boot-9.scm:3066:17 ()>]
substitute-binary: 3085: 2 [#<procedure 9e17870 at ice-9/boot-9.scm:3066:17 ()>]
substitute-binary: In unknown file:
substitute-binary:    ?: 1 [primitive-load-path "guix/scripts/substitute-binary" ...]
substitute-binary: In guix/scripts/substitute-binary.scm:
substitute-binary:  634: 0 [#<procedure 9e74470 ()>]
substitute-binary: 
substitute-binary: guix/scripts/substitute-binary.scm:634:2: In procedure #<procedure 9e74470 ()>:
substitute-binary: guix/scripts/substitute-binary.scm:634:2: Throw to key `match-error' with args `("match" "no matching pattern" ())'.
guix system: error: build failed: unexpected end-of-file
root:~#
--8<---------------cut here---------------end--------------->8---

Running the same command with --no-substitutes works:

--8<---------------cut here---------------start------------->8---
root:~# ~mhw/bin/guix system reconfigure ~mhw/jojen.scm --no-substitutes
The following derivations will be built:
   /gnu/store/zshpy31rx9bisi6w64hljrrysd0jqrk9-grub-2.00.drv
   /gnu/store/hm02q0iy3jjr995cgyy6pq0fjxkywm7i-grub.cfg.drv
   /gnu/store/gzylnn8kq40s9day9h3xassqv2jnbkck-grub-2.00.tar.xz.drv
   /gnu/store/ld352ranb4xl1x882zkl2ax8w4581xcl-xorriso-1.3.8.drv
   /gnu/store/pp5ci0lnd8ib9n3wkrpxj788zyrw6fla-qemu-headless-1.3.1.drv
   /gnu/store/5lhhp3ypph0vvdsp7fbfk07arr77c4ms-gtkmm-2.24.2.drv
   /gnu/store/vzxd6l9qxslnslgy538kxq6v7akbi25x-inkscape-0.91.drv
   /gnu/store/sdfydjqpbp2vr7p87cz35zxxhn7g25df-grub-image.png.drv
   /gnu/store/1y0xirbizfvj7p7ps2awlcb3vs35jsii-grub-image.resized.png.drv
grub-2.00/
grub-2.00/po/
grub-2.00/po/LINGUAS
grub-2.00/po/stamp-po
grub-2.00/po/grub.pot
[...]
--8<---------------cut here---------------end--------------->8---

Running other commands including "guix system build" and "guix package"
with substitutes enabled works properly.

The 'guix' command being run here is using 'pre-inst-env' within a git
checkout that's on 9d297fa but with some local commits added including
'wip-http-pipelining'.  The 'guix-daemon' being run is from
guix-0.8.1.07157e8, which I suppose is using its own copy of 'guix
substitute' (right?).

      Mark