Subject: bug#35623: guix pull failed on RHEL7

From: Mark H Weaver <[email-masked]>
Date: Tue, 07 May 2019 17:39:19 -0400

Hi Karrick,

Karrick McDermott <[email-masked]> writes:

> Note, I ran this with non privileged permissions, which might be
> wrong.  I am only sending this email because the program requested it.

We normally run 'guix pull' unprivileged, so that's fine.

> [kmcdermo@kmcdermo-ld2 ~]$ guix pull
> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> Building from this channel:
>   guix      https://git.savannah.gnu.org/git/guix.git   338defe
> Computing Guix derivation for 'x86_64-linux'...  Backtrace:
> In ice-9/boot-9.scm:
>    222:29 19 (map1 (((guix i18n)) ((guix colors)) ((guix gexp)) (#) ?))
>    222:29 18 (map1 (((guix colors)) ((guix gexp)) ((guix sets)) (#) ?))
>    222:29 17 (map1 (((guix gexp)) ((guix sets)) ((guix utils)) (#) ?))
>    222:29 16 (map1 (((guix sets)) ((guix utils)) ((guix store)) (#) ?))
>    222:29 15 (map1 (((guix utils)) ((guix store)) ((guix config)) # ?))
>    222:29 14 (map1 (((guix store)) ((guix config)) ((guix #)) ((?)) ?))
>    222:29 13 (map1 (((guix config)) ((guix packages)) ((guix #)) # ?))
>    222:29 12 (map1 (((guix packages)) ((guix profiles)) ((guix #)) ?))
>    222:17 11 (map1 (((guix profiles)) ((guix derivations)) ((# #)) ?))
>   2800:17 10 (resolve-interface (guix profiles) #:select _ #:hide _ # ?)
> In ice-9/threads.scm:
>     390:8  9 (_ _)
> In ice-9/boot-9.scm:
>   2726:13  8 (_)
> In ice-9/threads.scm:
>     390:8  7 (_ _)
> In ice-9/boot-9.scm:
>   2994:20  6 (_)
>    2312:4  5 (save-module-excursion #<procedure 2adf2d0 at ice-9/boo?>)
>   3014:26  4 (_)
> In unknown file:
>            3 (primitive-load-path "guix/profiles" #<procedure 292eae?>)
> In ./guix/profiles.scm:
>   1788:23  2 (_)
> In ./guix/utils.scm:
>    661:47  1 (xdg-directory _ "/.config" #:ensure? _)
> In unknown file:
>            0 (getpw 10452)
>
> ERROR: In procedure getpw:
> In procedure getpw: entry not found

Guix is trying to find out your home directory, so that it can update
files in ~/.config/guix.  If your HOME environment variable was set, it
would use that, but apparently it's not set, in which case it tries to
use getpw(3) to look up the entry in /etc/passwd corresponding to your
user id.  getpw(3) failed for some reason.

It seems that you're on an unusual system, since HOME is usually set by
default.  Anyway, setting HOME should fix the issue for you.  Please let
us know if that works.

      Thanks,
        Mark