|
From: | Tomas Cech |
Subject: | bug#17786: group specified in `build-users-group' does not exist |
Date: | Tue, 17 Jun 2014 12:04:49 +0200 |
User-agent: | Mutt/1.5.21 (2010-09-15) |
Hello, On Tue, Jun 17, 2014 at 11:57:16AM +0200, Ludovic Courtès wrote:
Hello, Please keep address@hidden Cc’d. Tomas Cech <address@hidden> skribis:On Mon, Jun 16, 2014 at 01:52:36PM +0200, Ludovic Courtès wrote:Tomas Cech <address@hidden> skribis:On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:Hello, Tomas Cech <address@hidden> skribis:guix package: error: build failed: the group `"guix-builders"' specified in `build-users-group' does not exist # grep guix /etc/passwd guix-builder1:x:61:479:Guix builder 1:/var/empty:/sbin/nologin guix-builder2:x:62:479:Guix builder 2:/var/empty:/sbin/nologin guix-builder3:x:63:479:Guix builder 3:/var/empty:/sbin/nologin guix-builder4:x:64:479:Guix builder 4:/var/empty:/sbin/nologin guix-builder5:x:65:479:Guix builder 5:/var/empty:/sbin/nologin # grep guix /etc/group guix-builders:x:479:guix-builder1,guix-builder2,guix-builder3,guix-builder4,guix-builder5 Nothing seems to be obviously wrong, but guix ends with this error.Hmm, what does “getent group guix-builders” return? And “getent passwd guix-builder1”?# getent group guix-builders guix-builders:x:479:guix-builder1,guix-builder2,guix-builder3,guix-builder4,guix-builder5 # getent passwd guix-builder1 guix-builder1:x:61:479:Guix builder 1:/var/empty:/sbin/nologinSo that’s all good. The daemon simply does that (build.cc): --8<---------------cut here---------------start------------->8--- /* Get the members of the build-users-group. */ struct group * gr = getgrnam(settings.buildUsersGroup.c_str()); if (!gr) throw Error(format("the group `%1%' specified in `build-users-group' does not exist") % settings.buildUsersGroup); --8<---------------cut here---------------end--------------->8--- Can you try getgrnam("guix-builders") in C or some other language (from Guile: (getgrnam "guix-builders")) ?scheme@(guile-user)> (getgrnam "guix-builders") $2 = #("guix-builders" "x" 479 ("guix-builder1" "guix-builder2" "guix-builder3" "guix-builder4" "guix-builder5"))Then there’s something weird: Guile’s getgrnam directly corresponds to libc’s getgrnam(3), which is what guix-daemon uses in the snippet above. Oh, I see the error message you gave above reads: the group `"guix-builders"' Note the extra double quotes. Could it be that the script that launches guix-daemon does something that amounts to: guix-daemon '--build-users-group="guix-builders"' That is, it leaves the double quotes as is in the argument?
It seems to be that case. Thank you and sorry for the noise... Best regards, Tomas
signature.asc
Description: Digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |