GNU bug report logs - #54546
(gnu packages racket) assumes that (ice-9 exceptions) exist, breaks pulling from old Guix

Previous Next

Package: guix;

Reported by: Giovanni Biscuolo <g <at> xelera.eu>

Date: Thu, 24 Mar 2022 14:53:01 UTC

Severity: normal

Merged with 54750

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

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 54546 in the body.
You can then email your comments to 54546 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Thu, 24 Mar 2022 14:53:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Giovanni Biscuolo <g <at> xelera.eu>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 24 Mar 2022 14:53:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Giovanni Biscuolo <g <at> xelera.eu>
To: bug-guix <at> gnu.org
Subject: failed to compute the derivation for (very old) Guix
Date: Thu, 24 Mar 2022 15:51:52 +0100
[Message part 1 (text/plain, inline)]
Hello,

I'm trying to update a (very) old guix installation in my root default
profile

when pulling I'm getting this error:

--8<---------------cut here---------------start------------->8---

$ sudo -i guix pull --url=http://git.savannah.gnu.org/git/guix.git
[sudo] password for g: 
Updating channel 'guix' from Git repository at 'http://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
  guix      http://git.savannah.gnu.org/git/guix.git    ab98b51
Computing Guix derivation for 'x86_64-linux'... \Backtrace:
In ice-9/eval.scm:
   721:20 19 (primitive-eval (define-module (gnu packages racket) #:use-module (guix packages) #:use-module (# #) # ?))
In ice-9/psyntax.scm:
  1235:36 18 (expand-top-sequence ((define-module (gnu packages racket) #:use-module (guix packages) #:use-module ?)) ?)
  1182:24 17 (parse _ (("placeholder" placeholder)) ((top) #(ribcage () () ())) _ e (eval) (hygiene #{ g317}#))
   285:10 16 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) (hygiene #{ g317}#))
In ice-9/eval.scm:
   293:34 15 (_ #<module (#{ g317}#) 399db40>)
In ice-9/boot-9.scm:
   2874:4 14 (define-module* _ #:filename _ #:pure _ #:version _ #:imports _ #:exports _ #:replacements _ # _ # _ # _ ?)
  2887:24 13 (_)
   222:29 12 (map1 (((guix packages)) ((guix download)) ((guix git-download)) ((guix utils)) ((guix gexp)) ((# ?)) ?))
   222:29 11 (map1 (((guix download)) ((guix git-download)) ((guix utils)) ((guix gexp)) ((guix build-system #)) # ?))
   222:29 10 (map1 (((guix git-download)) ((guix utils)) ((guix gexp)) ((guix build-system copy)) ((guix # gnu)) # ?))
   222:29  9 (map1 (((guix utils)) ((guix gexp)) ((guix build-system copy)) ((guix build-system gnu)) ((srfi #)) # ?))
   222:29  8 (map1 (((guix gexp)) ((guix build-system copy)) ((guix build-system gnu)) ((srfi srfi-1)) ((srfi #)) # ?))
   222:29  7 (map1 (((guix build-system copy)) ((guix build-system gnu)) ((srfi srfi-1)) ((srfi srfi-26)) ((# #)) # ?))
   222:29  6 (map1 (((guix build-system gnu)) ((srfi srfi-1)) ((srfi srfi-26)) ((ice-9 match)) ((ice-9 #)) ((# #)) ?))
   222:29  5 (map1 (((srfi srfi-1)) ((srfi srfi-26)) ((ice-9 match)) ((ice-9 exceptions)) ((gnu packages)) ((# ?)) ?))
   222:29  4 (map1 (((srfi srfi-26)) ((ice-9 match)) ((ice-9 exceptions)) ((gnu packages)) ((gnu packages #)) ((?)) ?))
   222:29  3 (map1 (((ice-9 match)) ((ice-9 exceptions)) ((gnu packages)) ((gnu packages autotools)) ((gnu # #)) # ?))
   222:17  2 (map1 (((ice-9 exceptions)) ((gnu packages)) ((gnu packages autotools)) ((gnu packages bash)) ((# ?)) ?))
   2803:6  1 (resolve-interface _ #:select _ #:hide _ #:prefix _ #:renamer _ #:version _)
In unknown file:
           0 (scm-error misc-error #f "~A ~S" ("no code for module" (ice-9 exceptions)) #f)

ERROR: In procedure scm-error:
no code for module (ice-9 exceptions)
guix pull: error: You found a bug: the program '/gnu/store/7n5xpd211950xyn39sxwqm6jmgishhnv-compute-guix-derivation'
failed to compute the derivation for Guix (version: "ab98b51ef1304e975da127e3092d01dcc7f02657"; system: "x86_64-linux";
host version: "1.0.0"; pull-version: 1).
Please report the COMPLETE output above by email to <bug-guix <at> gnu.org>.

--8<---------------cut here---------------end--------------->8---

Please is there any workaround for this?

Thanks! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Thu, 24 Mar 2022 15:03:01 GMT) Full text and rfc822 format available.

Message #8 received at 54546 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Giovanni Biscuolo <g <at> xelera.eu>, 54546 <at> debbugs.gnu.org
Subject: Re: bug#54546: failed to compute the derivation for (very old) Guix
Date: Thu, 24 Mar 2022 16:01:55 +0100
[Message part 1 (text/plain, inline)]
Giovanni Biscuolo schreef op do 24-03-2022 om 15:51 [+0100]:
> --8<---------------cut here---------------end--------------->8---
> [(ice-9 exceptions) stuff]
> Please is there any workaround for this?

build-aux/build-self.scm stubs (gcrypt hash) and (git).
Likewise, it could be modified to stub (ice-9 exceptions) when
'guile-version' refers to a pre-(ice-9 exceptions) Guile.

According to Guile's NEWS, (ice-9 exceptions) is new in 3.0.0,
so the stubbing needs to be made conditional on guile-version<3.0.0.

Additionally, I'm looking into reducing the number of imports and
cycles, so possibly the situation will resolve itself eventually.

Greetings,
Maxime.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Thu, 24 Mar 2022 15:24:02 GMT) Full text and rfc822 format available.

Message #11 received at 54546 <at> debbugs.gnu.org (full text, mbox):

From: Giovanni Biscuolo <g <at> xelera.eu>
To: Maxime Devos <maximedevos <at> telenet.be>, 54546 <at> debbugs.gnu.org
Subject: Re: bug#54546: failed to compute the derivation for (very old) Guix
Date: Thu, 24 Mar 2022 16:23:19 +0100
[Message part 1 (text/plain, inline)]
Hi Maxime,

Maxime Devos <maximedevos <at> telenet.be> writes:

> Giovanni Biscuolo schreef op do 24-03-2022 om 15:51 [+0100]:
>> --8<---------------cut here---------------end--------------->8---
>> [(ice-9 exceptions) stuff]
>> Please is there any workaround for this?
>
> build-aux/build-self.scm stubs (gcrypt hash) and (git).
> Likewise, it could be modified to stub (ice-9 exceptions) when
> 'guile-version' refers to a pre-(ice-9 exceptions) Guile.

I get the meaning of "stubbing" but I don't know how to code in Guile,
sorry ? cannot help here

[...]

> Additionally, I'm looking into reducing the number of imports and
> cycles, so possibly the situation will resolve itself eventually.

Meanwhile is there anything I can do to upgrade my guix-damon (on
foreign distro), I never upgraded my root default profile since I first
installed Guix on this machine so now I'm stuck at

--8<---------------cut here---------------start------------->8---

g <at> renaissance:~$ guix describe -p /var/guix/profiles/per-user/root/current-guix
Generation 1    Jul 20 2020 02:08:33    (current)
g <at> renaissance:~$ /var/guix/profiles/per-user/root/current-guix/bin/guix-daemon --version
guix-daemon (GNU Guix) 1.0.0

--8<---------------cut here---------------end--------------->8---

This machine is trying to build ungoogled-chromium even if I'm pretty
sure there is a substitute available (installed on another machine with
the very same Guix channel) and I suspect it depends on "something"
related to the guix-daemon


Thanks! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Sat, 26 Mar 2022 18:10:02 GMT) Full text and rfc822 format available.

Message #14 received at 54546 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Giovanni Biscuolo <g <at> xelera.eu>, 54546 <at> debbugs.gnu.org
Subject: Re: bug#54546: failed to compute the derivation for (very old) Guix
Date: Sat, 26 Mar 2022 19:09:29 +0100
[Message part 1 (text/plain, inline)]
Giovanni Biscuolo schreef op do 24-03-2022 om 16:23 [+0100]:
> Hi Maxime,
> 
> Maxime Devos <maximedevos <at> telenet.be> writes:
> 
> > Giovanni Biscuolo schreef op do 24-03-2022 om 15:51 [+0100]:
> > > --8<---------------cut here---------------end--------------->8---
> > > [(ice-9 exceptions) stuff]
> > > Please is there any workaround for this?
> > 
> > build-aux/build-self.scm stubs (gcrypt hash) and (git).
> > Likewise, it could be modified to stub (ice-9 exceptions) when
> > 'guile-version' refers to a pre-(ice-9 exceptions) Guile.
> 
> I get the meaning of "stubbing" but I don't know how to code in Guile,
> sorry ? cannot help here

Ok, I've tried something in the attached patch (completely untested).

> [...]
> 
> > Additionally, I'm looking into reducing the number of imports and
> > cycles, so possibly the situation will resolve itself eventually.
> 
> Meanwhile is there anything I can do to upgrade my guix-damon (on
> foreign distro)

What guix is the guix service using?  If it's /usr/bin/guix installed
with the foreign distro's package manager, you can do, in case of
Debian, "sudo apt-get update && sudo apt-get upgrade"

> , I never upgraded my root default profile since I first
> installed Guix on this machine so now I'm stuck at [...]

Suggestion: use your regular user's guix to upgrade root's guix:

$ sudo -i "`which guix`" pull 

(this assumes the non-root user has a vaguely up-to-date guix)

Greetings,
Maxime.

[diff.patch (text/x-patch, inline)]
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index 25a7b1e618..64257bd54c 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo <at> gnu.org>
-;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
+;;; Copyright © 2021, 2022 Maxime Devos <maximedevos <at> telenet.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -265,6 +265,9 @@ interface (FFI) of Guile.")
   (define fake-git
     (scheme-file "git.scm" #~(define-module (git))))
 
+  (define fake-ice-9-exceptions
+    (scheme-file "exceptions.scm" #~(define-module (ice-9 exceptions))))
+
   (with-imported-modules `(((guix config)
                             => ,(make-config.scm))
 
@@ -279,6 +282,13 @@ interface (FFI) of Guile.")
                            ;; (git) to placate it.
                            ((git) => ,fake-git)
 
+                           ;; Pre-3.0 versions of Guile don't have (ice-9
+                           ;; exceptions) but (gnu packages racket) imports
+                           ;; it.  Provide a ‘good enough’ (ice-9 exceptions).
+                           ,@(if (string=? "2" (major-version guile-version))
+                                 `(((ice-9 exceptions) ,fake-ice-9-exceptions))
+                                 '())
+
                            ,@(source-module-closure `((guix store)
                                                       (guix self)
                                                       (guix ui)
[signature.asc (application/pgp-signature, inline)]

Reply sent to Giovanni Biscuolo <g <at> xelera.eu>:
You have taken responsibility. (Thu, 07 Apr 2022 09:29:02 GMT) Full text and rfc822 format available.

Notification sent to Giovanni Biscuolo <g <at> xelera.eu>:
bug acknowledged by developer. (Thu, 07 Apr 2022 09:29:02 GMT) Full text and rfc822 format available.

Message #19 received at 54546-done <at> debbugs.gnu.org (full text, mbox):

From: Giovanni Biscuolo <g <at> xelera.eu>
To: Maxime Devos <maximedevos <at> telenet.be>, 54546-done <at> debbugs.gnu.org
Subject: Re: bug#54546: failed to compute the derivation for (very old) Guix
Date: Thu, 07 Apr 2022 11:28:14 +0200
[Message part 1 (text/plain, inline)]
Hi Maxime,

sorry for this late reply!

I solved my problem with an ugly workaround: installing the Debian
provided guix package and temporarily using that updated daemon in the
systemd service, so I was able to upgrade to an updated Guix (since the
package in Debian is not up to date with upstream)

Maxime Devos <maximedevos <at> telenet.be> writes:

> Giovanni Biscuolo schreef op do 24-03-2022 om 16:23 [+0100]:

[...]

>> I get the meaning of "stubbing" but I don't know how to code in Guile,
>> sorry ? cannot help here
>
> Ok, I've tried something in the attached patch (completely untested).

Meanwhile I applied the above workaround, I did not test your patch

[...]

>> Meanwhile is there anything I can do to upgrade my guix-damon (on
>> foreign distro)
>
> What guix is the guix service using?

It was version 1.0.0

> If it's /usr/bin/guix installed with the foreign distro's package
> manager, you can do, in case of Debian, "sudo apt-get update && sudo
> apt-get upgrade"

No, I was not using the Debian provided package, I installed from the
upstream Guix binary

>> , I never upgraded my root default profile since I first
>> installed Guix on this machine so now I'm stuck at [...]
>
> Suggestion: use your regular user's guix to upgrade root's guix:
>
> $ sudo -i "`which guix`" pull 
>
> (this assumes the non-root user has a vaguely up-to-date guix)

Wow!  I did not get it before your suggestion! :-O

IMHO this should be the default way to upgrade root's (or any othe user
with an out of date Guix) guix-daemon installation

[...]

Bug closed, thanks! Gio'

-- 
Giovanni Biscuolo

Xelera IT Infrastructures
[signature.asc (application/pgp-signature, inline)]

Did not alter fixed versions and reopened. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 08 Apr 2022 10:24:02 GMT) Full text and rfc822 format available.

Merged 54546 54750. Request was from Maxime Devos <maximedevos <at> telenet.be> to control <at> debbugs.gnu.org. (Fri, 08 Apr 2022 13:59:01 GMT) Full text and rfc822 format available.

Changed bug title to '(gnu packages racket) assumes that (ice-9 exceptions) exist, breaks pulling from old Guix' from 'failed to compute the derivation for (very old) Guix' Request was from Maxime Devos <maximedevos <at> telenet.be> to control <at> debbugs.gnu.org. (Sat, 16 Apr 2022 21:15:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Mon, 13 Jun 2022 10:31:01 GMT) Full text and rfc822 format available.

Message #28 received at 54546 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Maxime Devos <maximedevos <at> telenet.be>
Cc: Giovanni Biscuolo <g <at> xelera.eu>, 54750-done <at> debbugs.gnu.org,
 54546 <at> debbugs.gnu.org
Subject: Re: bug#54750: (gnu packages racket) assumes that (ice-9
 exceptions) exist, breaks pulling from old Guix
Date: Mon, 13 Jun 2022 12:30:15 +0200
Hi,

For some reason I had not seen this issue earlier; too bad it remained
for this long.

This is now fixed in 8918ce6d1622303465e716ae491b8e5124c7aece.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#54546; Package guix. (Mon, 13 Jun 2022 10:53:01 GMT) Full text and rfc822 format available.

Message #31 received at 54546 <at> debbugs.gnu.org (full text, mbox):

From: Maxime Devos <maximedevos <at> telenet.be>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Giovanni Biscuolo <g <at> xelera.eu>, 54750-done <at> debbugs.gnu.org,
 54546 <at> debbugs.gnu.org
Subject: Re: bug#54750: (gnu packages racket) assumes that (ice-9
 exceptions) exist, breaks pulling from old Guix
Date: Mon, 13 Jun 2022 12:52:49 +0200
[Message part 1 (text/plain, inline)]
Thanks!
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 11 Jul 2022 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 289 days ago.

Previous Next


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