[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#30298: core-updates: Failure to find the guixbuild group
From: |
Leo Famulari |
Subject: |
bug#30298: core-updates: Failure to find the guixbuild group |
Date: |
Thu, 1 Feb 2018 15:10:52 -0500 |
User-agent: |
Mutt/1.9.2 (2017-12-15) |
On Thu, Feb 01, 2018 at 10:06:07AM +0100, Ludovic Courtès wrote:
> Leo Famulari <address@hidden> 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 :)