From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#30298: core-updates: Failure to find the guixbuild group Date: Wed, 31 Jan 2018 23:38:35 +0100 Message-ID: <87tvv1r6vo.fsf@gnu.org> References: <20180131025652.GA14550@jasmine.lan> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:36422) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eh122-0003jM-Q5 for bug-guix@gnu.org; Wed, 31 Jan 2018 17:39:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eh11y-0006Qs-Qq for bug-guix@gnu.org; Wed, 31 Jan 2018 17:39:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:43698) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eh11y-0006QQ-M7 for bug-guix@gnu.org; Wed, 31 Jan 2018 17:39:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1eh11y-0001gr-GS for bug-guix@gnu.org; Wed, 31 Jan 2018 17:39:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20180131025652.GA14550@jasmine.lan> (Leo Famulari's message of "Tue, 30 Jan 2018 21:56:52 -0500") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Leo Famulari Cc: 30298@debbugs.gnu.org Hey! Leo Famulari skribis: > 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 `bu= ild-users-group' does not exist [...] > [pid 21672] socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = =3D 3 > [pid 21672] connect(3, {sa_family=3DAF_UNIX, sun_path=3D"/var/run/nscd/so= cket"}, 110) =3D -1 ENOENT (No such file or directory) > [pid 21672] close(3) =3D 0 > [pid 21672] socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = =3D 3 > [pid 21672] connect(3, {sa_family=3DAF_UNIX, sun_path=3D"/var/run/nscd/so= cket"}, 110) =3D -1 ENOENT (No such file or directory) > [pid 21672] close(3) =3D 0 > [pid 21672] futex(0x7f49fbe86190, FUTEX_WAKE_PRIVATE, 2147483647) =3D 0 > [pid 21672] rt_sigaction(SIGIO, {sa_handler=3DSIG_IGN, sa_mask=3D~[RTMIN = RT_1], sa_flags=3DSA_RESTORER, sa_restorer=3D0x7f49fb8f2250}, {sa_handler= =3D0x4096f0, sa_mask=3D~[KILL STOP RTMIN RT_1], sa_flags=3DSA_RESTORER, sa_= restorer=3D0x7f49fb8f2250}, 8) =3D 0 > [pid 21672] write(4, "ptxc\0\0\0\0E\0\0\0\0\0\0\0the group `guixb"..., 96= ) =3D 96 > [pid 21672] exit_group(0) =3D ? > [pid 21672] +++ exited with 0 +++ I suppose it works if you start nscd on this Debian machine (as is the case on GuixSD), right? The question is why isn=E2=80=99t guix-daemon falling back to loading libnss_files and reading /etc/groups directly. How is this guix-daemon built? What libc is it linked against? Does /etc/nsswitch.conf exist and what does it contain? On my GuixSD it seems to work as expected: --8<---------------cut here---------------start------------->8--- $ /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/bi= n/getent group guixbuild guixbuild:x:30000:guixbuilder01,guixbuilder02,guixbuilder03,guixbuilder04,g= uixbuilder05,guixbuilder06,guixbuilder07,guixbuilder08,guixbuilder09,guixbu= ilder10 $ sudo herd stop nscd Service nscd has been stopped. $ /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5379c/bi= n/getent group guixbuild guixbuild:x:30000:guixbuilder01,guixbuilder02,guixbuilder03,guixbuilder04,g= uixbuilder05,guixbuilder06,guixbuilder07,guixbuilder08,guixbuilder09,guixbu= ilder10 $ strace /gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.105-g0890d5= 379c/bin/getent group guixbuild [...] socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) =3D 3 connect(3, {sa_family=3DAF_UNIX, sun_path=3D"/var/run/nscd/socket"}, 110) = =3D -1 ENOENT (No such file or directory) close(3) =3D 0 socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) =3D 3 connect(3, {sa_family=3DAF_UNIX, sun_path=3D"/var/run/nscd/socket"}, 110) = =3D -1 ENOENT (No such file or directory) close(3) =3D 0 open("/etc/nsswitch.conf", O_RDONLY|O_CLOEXEC) =3D 3 fstat(3, {st_mode=3DS_IFREG|0444, st_size=3D207, ...}) =3D 0 read(3, "group:\tcompat [NOTFOUND=3Dreturn] "..., 4096) =3D 207 read(3, "", 4096) =3D 0 close(3) =3D 0 openat(AT_FDCWD, "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.10= 5-g0890d5379c/lib/libnss_compat.so.2", O_RDONLY|O_CLOEXEC) =3D -1 ENOENT (N= o such file or directory) openat(AT_FDCWD, "/gnu/store/n6acaivs0jwiwpidjr551dhdni5kgpcr-glibc-2.26.10= 5-g0890d5379c/lib/libnss_files.so.2", O_RDONLY|O_CLOEXEC) =3D 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) =3D 832 fstat(3, {st_mode=3DS_IFREG|0555, st_size=3D56928, ...}) =3D 0 mmap(NULL, 2168632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = =3D 0x7f420943d000 mprotect(0x7f4209448000, 2093056, PROT_NONE) =3D 0 mmap(0x7f4209647000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_= DENYWRITE, 3, 0xa000) =3D 0x7f4209647000 mmap(0x7f4209649000, 22328, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP= _ANONYMOUS, -1, 0) =3D 0x7f4209649000 close(3) =3D 0 mprotect(0x7f4209647000, 4096, PROT_READ) =3D 0 open("/etc/group", O_RDONLY|O_CLOEXEC) =3D 3 fstat(3, {st_mode=3DS_IFREG|0644, st_size=3D666, ...}) =3D 0 read(3, "root:x:0:\nwheel:x:999:ludo\nusers"..., 4096) =3D 666 close(3) =3D 0 fstat(1, {st_mode=3DS_IFCHR|0620, st_rdev=3Dmakedev(136, 10), ...}) =3D 0 write(1, "guixbuild:x:30000:guixbuilder01,"..., 158guixbuild:x:30000:guixbu= ilder01,guixbuilder02,guixbuilder03,guixbuilder04,guixbuilder05,guixbuilder= 06,guixbuilder07,guixbuilder08,guixbuilder09,guixbuilder10 ) =3D 158 exit_group(0) =3D ? +++ exited with 0 +++ --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99.