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

From: Leo Famulari <[email-masked]>
Date: Wed, 31 Jan 2018 18:47:17 -0500

On Thu, Feb 01, 2018 at 12:28:32AM +0100, Ludovic Courtès wrote:
> I think you attached strace to the running guix-daemon process here.
> What I meant is that we should trace it from the beginning of its
> execution (so either run it by hand or modify the .service file to run
> “strace -f guix-daemon …”.)

Oh, right. The issue is that, starting in glibc 2.26, libnss_compat is
not built unless the glibc build is configured with
--enable-obsolete-nsl:

"If glibc was configured without --enable-obsolete-nsl the libnss_compat
library will not be built. If the library is not built, it may still be
found during testing if dl_open searches the default host library
directories."

https://sourceware.org/glibc/wiki/Release/2.26#Architecture-independent

In fact, I already noticed this and worked around it for another package
without really understanding what it meant:

https://bugs.gnu.org/29970
https://git.savannah.gnu.org/cgit/guix.git/commit/?h=core-updates&id=0f7db1d320fd26a11854c8d7f404a3cf16eb3fbc

And we can see the core-updates guix-daemon try and fail to open
libnss_compat.so:

308 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
309 close(5)                                = 0
310 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 5
311 connect(5, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
312 close(5)                                = 0
313 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) = 5
314 fstat(5, {st_dev=makedev(252, 1), st_ino=1047888, st_mode=S_IFREG|0644, st_nlink=1, st_uid=0, st_gid=0, st_blksize=4096, st_blocks=8, st_size=529, st_atime=2018-01-31T17:17:26-0500.3612163    70, st_mtime=2017-06-13T03:33:07-0400.283237951, st_ctime=2017-06-13T03:33:07-0400.283237951}) = 0
315 read(5, "# /etc/nsswitch.conf\n#\n# Example"..., 4096) = 529
316 read(5, "", 4096)                       = 0
317 close(5)                                = 0
318 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)