guix pull failed on RHEL7

  • Done
  • quality assurance status badge
Details
5 participants
  • david.larsson
  • Karrick McDermott
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
  • Mark H Weaver
Owner
unassigned
Submitted by
Karrick McDermott
Severity
normal
K
K
Karrick McDermott wrote on 7 May 2019 20:03
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
FE836365-2019-4A44-B2E9-230FC6D62B5D@linkedin.biz
Note, I ran this with non privileged permissions, which might be wrong. I am only sending this email because the program requested it.
[kmcdermo@kmcdermo-ld2 ~]$ uname -a
Linux kmcdermo-ld2.linkedin.biz 3.10.0-514.55.4.el7.x86_64 #1 SMP Fri Aug 10 17:03:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[kmcdermo@kmcdermo-ld2 ~]$ guix pull
Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
Building from this channel:
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 pull: error: You found a bug: the program '/gnu/store/4hsmk7kh62yvbi154pyy3nq8drml116a-compute-guix-derivation'
failed to compute the derivation for Guix (version: "338defe0cbe156e8416647035403fccf059555e0"; system: "x86_64-linux";
host version: "1.0.0"; pull-version: 1).
Please report it by email to <bug-guix@gnu.org>.
D
D
david.larsson wrote on 7 May 2019 21:53
(name . Karrick McDermott)(address . kmcdermott@linkedin.com)
alpine.LNX.2.21.9999.1905072153150.11664@localhost
Hi Karrick,
Is this a regular user or a user you logged into over ssh and authorized
via pam_ldap or similar? I have noticed similar error but had no problems
with guix pull for root user or manually created users.

Best regards,
David L

On Tue, 7 May 2019, Karrick McDermott wrote:

Toggle quote (49 lines)
> Note, I ran this with non privileged permissions, which might be wrong. I am only sending this email because the program requested it.
>
>
> [kmcdermo@kmcdermo-ld2 ~]$ uname -a
> Linux kmcdermo-ld2.linkedin.biz 3.10.0-514.55.4.el7.x86_64 #1 SMP Fri Aug 10 17:03:02 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
>
> [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 pull: error: You found a bug: the program '/gnu/store/4hsmk7kh62yvbi154pyy3nq8drml116a-compute-guix-derivation'
> failed to compute the derivation for Guix (version: "338defe0cbe156e8416647035403fccf059555e0"; system: "x86_64-linux";
> host version: "1.0.0"; pull-version: 1).
> Please report it by email to <bug-guix@gnu.org>.
>
>
M
M
Mark H Weaver wrote on 7 May 2019 23:39
(name . Karrick McDermott)(address . kmcdermott@linkedin.com)(address . 35623@debbugs.gnu.org)
87y33i2bbx.fsf@netris.org
Hi Karrick,

Karrick McDermott <kmcdermott@linkedin.com> writes:

Toggle quote (3 lines)
> 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.

Toggle quote (38 lines)
> [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
K
K
Karrick McDermott wrote on 10 May 2019 20:49
FW: bug#35623: guix pull failed on RHEL7
(name . 35623@debbugs.gnu.org)(address . 35623@debbugs.gnu.org)
116C094F-4009-4BFF-9711-5B77EA87F106@linkedin.biz
I accidentally sent this to Mark's private account rather than the per-bug address.
Re-sending it as requested.
?-----Original Message-----
From: Karrick McDermott <kmcdermott@linkedin.com>
Date: Wednesday, May 8, 2019 at 8:17 PM
To: Mark H Weaver <mhw@netris.org>
Subject: Re: bug#35623: guix pull failed on RHEL7
Here's the script output from checking my $HOME environment variable, showing my account id, and showing that my account id is not in the /etc/passwd file, as user accounts on this machine is managed by LDAP.
My $HOME environment variable _is_ set, and I did verify that it is properly exported from the shell so child processes inherit that variable.
I re-ran the command with debugging and attached that as well.
Right now I suspect that Guix is not playing well on systems that use LDAP for user authentication.
-----Original Message-----
From: Mark H Weaver <mhw@netris.org>
Date: Tuesday, May 7, 2019 at 5:41 PM
To: Karrick McDermott <kmcdermott@linkedin.com>
Cc: "35623@debbugs.gnu.org" <35623@debbugs.gnu.org>
Subject: Re: bug#35623: guix pull failed on RHEL7
Hi Karrick,
Karrick McDermott <kmcdermott@linkedin.com> 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
> Building from this channel:
> 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
Attachment: guix.out (.00 MiB)
Attachment: debug.out (.09 MiB)
L
L
Ludovic Courtès wrote on 11 May 2019 00:23
(name . Karrick McDermott)(address . kmcdermott@linkedin.com)(name . 35623@debbugs.gnu.org)(address . 35623@debbugs.gnu.org)
878svex82o.fsf@gnu.org
Hi,

Karrick McDermott <kmcdermott@linkedin.com> skribis:

Toggle quote (9 lines)
> 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 pull: [1;31merror: [0mYou found a bug: the program '/gnu/store/4hsmk7kh62yvbi154pyy3nq8drml116a-compute-guix-derivation'

This happens because ‘with-clean-environment’ in
‘build-aux/build-self.scm’ clears the environment while executing
“compute-guix-derivation”. Thus ‘HOME’ is unset.

Additionally, could it be that you’re not running nscd? See:


That said, we could also let ‘HOME’ through in the execution environment
of “compute-guix-derivation”, it can’t hurt.

Thanks,
Ludo’.
K
K
Karrick McDermott wrote on 11 May 2019 00:47
(name . Ludovic Courtès)(address . ludo@gnu.org)(name . 35623@debbugs.gnu.org)(address . 35623@debbugs.gnu.org)
526B5A3B-EEDB-4C57-8582-C47B583D780F@linkedin.biz
1. Glad you identified why `HOME` was unset, due to the `with-clean-environment` function. I am surprised a few environment variables are not conveyed through the code path, as `ssh` does for variables it deems safe, including `HOME`, `LOGNAME`, `TZ`, and `USER`.
2. My RHEL7 machine is _not_ running `nscd` as you surmised. This machine was configured to use LDAP for user account management.
3. Thanks for the link to the documentation for post-installation steps on non-Guix systems. I had that page open in a tab, and never got to it because `guix pull` was failing before I got that far in the instructions. I'm reading through those now.
?-----Original Message-----
From: Ludovic Courtès <ludo@gnu.org>
Date: Friday, May 10, 2019 at 6:23 PM
To: Karrick McDermott <kmcdermott@linkedin.com>
Cc: "35623@debbugs.gnu.org" <35623@debbugs.gnu.org>
Subject: Re: bug#35623: FW: bug#35623: guix pull failed on RHEL7
Hi,
Karrick McDermott <kmcdermott@linkedin.com> skribis:
> 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 pull: [1;31merror: [0mYou found a bug: the program '/gnu/store/4hsmk7kh62yvbi154pyy3nq8drml116a-compute-guix-derivation'
This happens because ‘with-clean-environment’ in
‘build-aux/build-self.scm’ clears the environment while executing
“compute-guix-derivation”. Thus ‘HOME’ is unset.
Additionally, could it be that you’re not running nscd? See:
That said, we could also let ‘HOME’ through in the execution environment
of “compute-guix-derivation”, it can’t hurt.
Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 11 May 2019 20:12
(name . Karrick McDermott)(address . kmcdermott@linkedin.com)(name . 35623-done@debbugs.gnu.org)(address . 35623-done@debbugs.gnu.org)
87d0kox3lz.fsf@gnu.org
Hello,

Karrick McDermott <kmcdermott@linkedin.com> skribis:

Toggle quote (2 lines)
> 1. Glad you identified why `HOME` was unset, due to the `with-clean-environment` function. I am surprised a few environment variables are not conveyed through the code path, as `ssh` does for variables it deems safe, including `HOME`, `LOGNAME`, `TZ`, and `USER`.

In this case this is done on purpose, to make sure that the execution
environment of this program is well under control.

Commit 48d498c2c3984784336b27ba5e261319f3ac6a3a lets HOME pass through,
which should sidestep the problem you encountered.

Toggle quote (2 lines)
> 2. My RHEL7 machine is _not_ running `nscd` as you surmised. This machine was configured to use LDAP for user account management.

Yes, as the manual explains, you’ll really need to run nscd for proper
operation.

Thank you,
Ludo’.
Closed
T
T
Tobias Geerinckx-Rice wrote on 11 May 2019 21:07
FW: bug#35623: guix pull failed on RHEL7
871s14ize3.fsf@nckx
Ludo',

Ludovic Courtès wrote:
Toggle quote (3 lines)
> Commit 48d498c2c3984784336b27ba5e261319f3ac6a3a lets HOME pass
> through, which should sidestep the problem you encountered.

This breaks ‘guix pull’, but I can't for the life of me see how
HOME is being applied here.

Could you enlighten me?

Kind regards,

T G-R

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXNcdVAAKCRANsP+IT1Vt
ebMPAQDfDvzIKQQYN7uTuvQa/qACtk9GItkrbEooMhcFNHsudgEAzeFMgU0P7Y2U
gxlp41LS0Z1Z6DwEIgG4FxiB66c9QQo=
=HJqv
-----END PGP SIGNATURE-----

T
T
Tobias Geerinckx-Rice wrote on 11 May 2019 23:42
87y33chdn7.fsf@nckx
Tobias Geerinckx-Rice wrote:
Toggle quote (8 lines)
> Ludovic Courtès wrote:
>> Commit 48d498c2c3984784336b27ba5e261319f3ac6a3a lets HOME pass
>> through, which should sidestep the problem you encountered.
>
> This breaks ‘guix pull’, but I can't for the life of me see how
> HOME
> is being applied here.

I've reverted the change for now.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXNdBrAAKCRANsP+IT1Vt
efBVAQDnNM9EE+DPTKsPmX/Yc+j+nXHynhWtBUCsi9s//T9U3QD/W9gI/UIAidHo
o3Bj+eGmVWjfV/TnSyQBdsgrnkD91QU=
=jzK5
-----END PGP SIGNATURE-----

L
L
Ludovic Courtès wrote on 13 May 2019 00:19
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)(address . 35623-done@debbugs.gnu.org)
878svbs4d0.fsf@gnu.org
Hi,

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

Toggle quote (7 lines)
> Ludovic Courtès wrote:
>> Commit 48d498c2c3984784336b27ba5e261319f3ac6a3a lets HOME pass
>> through, which should sidestep the problem you encountered.
>
> This breaks ‘guix pull’, but I can't for the life of me see how HOME
> is being applied here.

Ouch, sorry for the mess, and thanks for reverting quickly!

I reverted the revert and added a fix in commit
e0244eb7a2290781ef490b6cedbd9c753caf6004.

Thanks,
Ludo’.
Closed
T
T
Tobias Geerinckx-Rice wrote on 13 May 2019 00:47
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 35623-done@debbugs.gnu.org)
87r2938f3r.fsf@nckx
Ludovic Courtès wrote:
Toggle quote (2 lines)
> e0244eb7a2290781ef490b6cedbd9c753caf6004.

Hmm. I guess I'll give ‘SRFI-45 - Primitives for Expressing
Iterative Lazy Algorithms’(?) a read, then.

Thanks,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXNiiiAAKCRANsP+IT1Vt
ea1fAP9G1NbxqNGV+2Q8pQbRikHQgjlLML8e/AdcAwlHnh6IgwEAxWemjFMpZMLR
cCRU2K56QPG0mTHL++1iogeazFGVZQA=
=k8e9
-----END PGP SIGNATURE-----

Closed
T
T
Tobias Geerinckx-Rice wrote on 13 May 2019 01:09
Re: bug#35623: FW: bug#35623: guix pull failed on RHEL7
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 35623-done@debbugs.gnu.org)
87pnon8e40.fsf@nckx
Tobias Geerinckx-Rice wrote:
Toggle quote (7 lines)
> Ludovic Courtès wrote:
>> e0244eb7a2290781ef490b6cedbd9c753caf6004.
>
> Hmm. I guess I'll give ‘SRFI-45 - Primitives for Expressing
> Iterative
> Lazy Algorithms’(?) a read, then.

Never mind, that was the first ‘->’ that looked relevant at first
glance but it's metasyntactic like most ‘->’s in the Guile manual…

I found it in the Guix manual, of course.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQT12iAyS4c9C3o4dnINsP+IT1VteQUCXNinjwAKCRANsP+IT1Vt
efLbAQDFVKRZLRJYeVdIwy7RcxohJ3ecYbxAfP++JSYyGBqBHQEA8ssAuIb2upbI
28vrydoB1hjqMqTqt+LTqfwj6qcEhAE=
=ViVQ
-----END PGP SIGNATURE-----

Closed
?