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)