help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Updating a very old Guix


From: Julien Lepiller
Subject: Re: Updating a very old Guix
Date: Fri, 09 Nov 2018 15:51:28 +0100
User-agent: Roundcube Webmail/1.3.6

Le 2018-11-09 15:37, Konrad Hinsen a écrit :
Hi everyone,

I have a computer that I don't use very often, with a rather old Guix
installation from nearly a year ago. So I though I should do an update.

First try: "guix pull".

Does a lot of downloading and compiling, then finishes. But guix no
longer works:

   ERROR: In procedure scm-error:
   no code for module (gcrypt hash)

Next try: I cloned the repository under a different user account (that
still had the old Guix). "guix environment guix", "bootstrap", and
then "configure" get me to the error message:

  configure: error: A recent Guile-SQLite3 could not be found; please
  install it.

But I cannot install a recent Guile-SQLite3 without doing a "guix pull"
first.

One more option I can think of is installing everything required to
compile Guix manually, then compile from source. Not exactly an
attractive idea, all the more since the dependency list in the Guix
manual looks incomplete (it doesn't mention Guile, for example, nor
Guile-SQLite3).

Are there any other options ? I would like to avoid deleting everything
and starting from scratch because there is one account on that machine
that has in its Guix profile my only working installation of the only
program I actually need this machine for.

Konrad.

If you have another machine with guix installed, you could try to use guix copy to copy a working guix pull profile (~/.config/guix/current) to that computer, and then you will be able to use that guix to run guix pull. Don't forget to create a key-pair on the other machine and to authorize the public key on the receiving end.

So on a machine with a recent guix:

guix archive --generate-key
scp /etc/guix/signing-key.pub address@hidden

On the first machine:

guix archive --authorize < signing-key.pub

On the machine with a recent guix:

guix copy address@hidden `readlink -f ~/.config/guix/latest`

And finally on the machine with an old guix:

/gnu/store/.../bin/guix pull
# with ... the result of readlink on the machine with the recent guix.

Hopefully, that will work :)

See http://guix.info/manual/en/Invoking-guix-copy.html#Invoking-guix-copy and http://guix.info/manual/en/Invoking-guix-archive.html#Invoking-guix-archive for reference.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]