Subject: bug#30298: closed (Re: bug#30298: core-updates: Failure to find the guixbuild group)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 01 Feb 2018 20:11:02 +0000

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 [email-masked].

-- 
30298: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=30298
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#30298: core-updates: Failure to find the guixbuild group
From: Leo Famulari <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Thu, 1 Feb 2018 15:10:52 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

On Thu, Feb 01, 2018 at 10:06:07AM +0100, Ludovic Courtès wrote:
> Leo Famulari <[email-masked]> 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 :)

Subject: core-updates: Failure to find the guixbuild group
From: Leo Famulari <[email-masked]>
To: [email-masked]
Date: Tue, 30 Jan 2018 21:56:52 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

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