unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Leo Famulari <leo@famulari.name>
Cc: 30298@debbugs.gnu.org
Subject: bug#30298: core-updates: Failure to find the guixbuild group
Date: Thu, 01 Feb 2018 10:06:07 +0100	[thread overview]
Message-ID: <87efm5nkow.fsf@gnu.org> (raw)
In-Reply-To: <20180131234717.GA32689@jasmine.lan> (Leo Famulari's message of "Wed, 31 Jan 2018 18:47:17 -0500")

Hello,

Leo Famulari <leo@famulari.name> skribis:

> 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:

[...]

> 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).

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

Thoughts?

Ludo’.

  reply	other threads:[~2018-02-01  9:07 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-31  2:56 bug#30298: core-updates: Failure to find the guixbuild group Leo Famulari
2018-01-31  3:03 ` Leo Famulari
2018-01-31  3:29   ` Leo Famulari
2018-01-31 22:38 ` Ludovic Courtès
2018-01-31 22:49   ` Leo Famulari
2018-01-31 22:52     ` Ludovic Courtès
2018-01-31 23:07       ` Leo Famulari
2018-01-31 23:28         ` Ludovic Courtès
2018-01-31 23:47           ` Leo Famulari
2018-02-01  9:06             ` Ludovic Courtès [this message]
2018-02-01 20:10               ` Leo Famulari
2018-01-31 22:54   ` Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87efm5nkow.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=30298@debbugs.gnu.org \
    --cc=leo@famulari.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).