Subject: Re: bug#32183: New ‘guix pull’ /root/.config/current/bin/guix: Permission denied

From: Konrad Hinsen <[email-masked]>
Date: Mon, 15 Oct 2018 13:59:05 +0200

Hi Ludo,

> Hmm you might need to run, say, ‘guix pull -l’, to make this script
> magically appear.  :-)
>
> Concretely, the new ‘guix pull’ migrates things from ~/.config/guix to
> /var/guix/profiles the first time you run it, but it may be that you
> haven’t yet run the *new* ‘guix pull’.

That looks like the right direction, since running "guix pull -l" starts 
by saying

    Migrating profile generations to '/var/guix/profiles/per-user/root'...

Unfortunately, its next statement is just as magic but less pleasant:

Backtrace:
            6 (primitive-load "/root/.config/guix/current/bin/guix")
In guix/ui.scm:
   1583:12  5 (run-guix-command _ . _)
In ice-9/boot-9.scm:
     829:9  4 (catch srfi-34 #<procedure 337dc80 at guix/ui.scm:615:…> …)
     829:9  3 (catch system-error #<procedure 337dd20 at guix/script…> …)
     829:9  2 (catch git-error #<procedure 337dbe0 at guix/scripts/p…> …)
     829:9  1 (catch system-error #<procedure 3391a60 at guix/script…> …)
In unknown file:
            0 (raise #<condition &profile-not-found-error [profile: "…>)

ERROR: In procedure raise:
Wrong type (expecting exact integer): #<condition 
&profile-not-found-error [profile: 
"/var/guix/profiles/per-user/root/current-guix"] 338b460>

This looks like an error in an error-raising procedure, something like  
a meta-error ;-)

Looking at

   ~# ls -l /var/guix/profiles/per-user/root/current-guix
    lrwxrwxrwx 1 root root 14 oct.  15 13:51 
/var/guix/profiles/per-user/root/current-guix -> current-4-link

yields  a link that is indeed missing. What I do have is 
current-guix-4-link, but not a plain current-4-link.

Konrad.