Subject: bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error:

From: zimoun <[email-masked]>
Date: Tue, 19 Nov 2019 12:49:17 +0100

Hi Ludo,

On Mon, 18 Nov 2019 at 21:10, Ludovic Courtès <[email-masked]> wrote:
>
> zimoun <[email-masked]> skribis:
>
> > But if you have this commit, you do not need the dance that you
> > described to "guix pull" with a very very old Guix version -- say
> > before the 0.15 overhaul.
>
> You need to do the short version of the dance, so to speak, and the
> proposed ‘--rescue’ could do that for you.

Sorry, I am slow to understand.

My current Guix version is pre-0.15. So "guix pull" does not work anymore.
This evaluation [1] contains a recent enough Guix to be able to pull, I guess.

[1] http://ci.guix.gnu.org/build/1943556

I can download the derivation with:

  wget https://ci.guix.info/nar/gzip/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv

But how to move the derivation to store? I am not sure that it makes sense.

Well, the previous Guile snippet you have shown returns an error.

My other approach is to clone and fetch a recent Guix from Git. Then:

  ./pre-env guix pull "bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv"

But I am not sure it will work because of the daemon. Do it make sense
to start the fresh compiled daemon?

> >> Now, I noticed that it doesn’t work so well when ‘guix publish --cache’
> >> is used, as is the case on berlin.  The reason is that the daemon will
> >> query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and
> >> so on.  And because of the ‘--cache’ behavior, they’ll all have to be
> >> baked separately.
> >
> >  $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv"
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> > cannot build missing derivation
> > ‘/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv’
> > guix build: error: build of
> > `/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv'
> > failed
>
> That’s a perfect illustration of the problem I described just above.

Ahah! I am very slow to understand. :-)

Cheers,
simon