GNU bug report logs - #30298
core-updates: Failure to find the guixbuild group

Previous Next

Package: guix;

Reported by: Leo Famulari <leo <at> famulari.name>

Date: Wed, 31 Jan 2018 02:58:02 UTC

Severity: normal

Merged with 30540

Done: Leo Famulari <leo <at> famulari.name>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Leo Famulari <leo <at> famulari.name>
Subject: bug#30298: closed (Re: bug#30298: core-updates: Failure to find
 the guixbuild group)
Date: Thu, 01 Feb 2018 20:11:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#30298: core-updates: Failure to find the guixbuild group

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 30298 <at> debbugs.gnu.org.

-- 
30298: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30298
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Leo Famulari <leo <at> famulari.name>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 30298-done <at> debbugs.gnu.org
Subject: Re: bug#30298: core-updates: Failure to find the guixbuild group
Date: Thu, 1 Feb 2018 15:10:52 -0500
On Thu, Feb 01, 2018 at 10:06:07AM +0100, Ludovic Courtès wrote:
> Leo Famulari <leo <at> famulari.name> skribis:
> > And we can see the core-updates guix-daemon try and fail to open
> > libnss_compat.so:
> 
> Yes, but in the trace I gave, it then goes on dlopening libnss_files,
> which is the NSS module to read databases like /etc/groups directly, and
> succeeds:
> 
> --8<---------------cut here---------------start------------->8---
> connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
> close(3)                                = 0
> open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 3
> fstat(3, {st_mode=S_IFREG|0444, st_size=207, ...}) = 0
> read(3, "group:\tcompat [NOTFOUND=return] "..., 4096) = 207
> read(3, "", 4096)                       = 0
> close(3)                                = 0
> openat(AT_FDCWD, "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/lib/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> openat(AT_FDCWD, "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/lib/libnss_files.so.2", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\"\0\0\0\0\0\0"..., 832) = 832
> fstat(3, {st_mode=S_IFREG|0555, st_size=56928, ...}) = 0
> mmap(NULL, 2168632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f420943d000
> mprotect(0x7f4209448000, 2093056, PROT_NONE) = 0
> mmap(0x7f4209647000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa000) = 0x7f4209647000
> mmap(0x7f4209649000, 22328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f4209649000
> close(3)                                = 0
> mprotect(0x7f4209647000, 4096, PROT_READ) = 0
> open("/etc/group", O_RDONLY|O_CLOEXEC)  = 3
> fstat(3, {st_mode=S_IFREG|0644, st_size=666, ...}) = 0
> read(3, "root:x:0:\nwheel:x:999:ludo\nusers"..., 4096) = 666
> --8<---------------cut here---------------end--------------->8---
> 
> The problem in your case is that /etc/nsswitch.conf has this:
> 
> --8<---------------cut here---------------start------------->8---
> passwd:         compat
> group:          compat
> shadow:         compat
> --8<---------------cut here---------------end--------------->8---
> 
> … meaning that it only tries libnss_compat, and fails if its missing.
> If you replace these “compat” with “files”, I think it’ll work.
> 
> FWIW on GuixSD I have this:
> 
> --8<---------------cut here---------------start------------->8---
> group:	compat [NOTFOUND=return] files
> hosts:	files mdns_minimal [NOTFOUND=return] dns mdns
> networks:	files dns [!UNAVAIL=return]
> passwd:	compat [NOTFOUND=return] files
> shadow:	compat [NOTFOUND=return] files
> --8<---------------cut here---------------end--------------->8---
> 
> The nsswitch.conf on GuixSD is based on the defaults defined in glibc,
> as noted in (gnu system nss).

Thanks for writing all this out, it's very educational!

> I’m not sure what can be done on our side.  We already recommend
> starting the nscd:
> 
>   https://www.gnu.org/software/guix/manual/html_node/Application-Setup.html#Name-Service-Switch-1

In that case, I think the solution is for me to `apt-get install nscd`.

Closing :)

[Message part 3 (message/rfc822, inline)]
From: Leo Famulari <leo <at> famulari.name>
To: bug-guix <at> gnu.org
Subject: core-updates: Failure to find the guixbuild group
Date: Tue, 30 Jan 2018 21:56:52 -0500
[Message part 4 (text/plain, inline)]
I updated my Guix installation on a Debian system to the latest
core-updates (8b9dbdf36fa89b7eb02).

After restarting the guix-daemon, anything requiring a build fails like
this:

# guix package --rollback
guix package: error: build failed: the group `guixbuild' specified in `build-users-group' does not exist

But:

# grep guixbuild /etc/group
guixbuild:x:999:guixbuilder01,guixbuilder02,guixbuilder03,guixbuilder04,guixbuilder05,guixbuilder06,guixbuilder07,guixbuilder08,guixbuilder09,guixbuilder10
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 7 years and 88 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.