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

From: zimoun <[email-masked]>
Date: Mon, 18 Nov 2019 13:23:58 +0100

Hi Kai,

On Mon, 18 Nov 2019 at 12:19, Kai Mertens <[email-masked]> wrote:

> On Sun, 17 Nov 2019 22:14:07 +0100
> Ludovic Courtès <[email-masked]> wrote:

> > Here’s a trick to do that (for commit 57c7bfec6, on x86_64-linux):
>
> hmm, I am on i686 – is the trick still applicable?
> I will switch to root’s profile with “sudo -i”, but that is ok, right?
> (If you please send your OK – then I will try it...)

I think the evaluation [1] should do the job for i686.

[1] https://ci.guix.gnu.org/build/1943561/details

> I guess I cannot use a simple “sudo -i guix package -u guix” as a
> workaround for the failing “sudo -i guix pull”, as it would bring up
> the same issue?

The issue you encounter comes from a compatibility break in Guix. Four
years later (more or less I guess), inferiors has bee introduced in
Guix. They allow to go back and forward with "guix pull --commit=".
Well, other said, your version of Guix is too old to be updated using
the usual way.

The only way is to apply the Ludo's "trick".  If I understand well:
 1. Fetch a recent enough derivation of Guix
 2. Build this derivation with your old Guix
 3. Manually pull to populate the store
 4. Then the profile ~/.config/guix/ should be ok

> Oh, I don't feel competent enough to give ideas, but “pull --rescue”
> sounds too generic to me. Maybe there will be other use cases that will
> require a (different) rescue trick in future. Instead, your commit
> 9c9982dc0 suggests a “pull --substitute-missing-derivations” to me.

If I understand well, your version of Guix is too old to use the
feature described in commit 9c9982dc0.

And if I still understand correctly, "pull --rescue" should be
mechanism to easily update an old Guix (before the overhaul in 0.15.0)
instead of doing all the dance.

All the best,
simon