group specified in `build-users-group' does not exist

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Tomas Cech
Owner
unassigned
Submitted by
Tomas Cech
Severity
normal

Debbugs page

T
T
Tomas Cech wrote on 15 Jun 2014 10:02
(address . bug-guix@gnu.org)
20140615170229.GD5647@venom
Hi,

I'm fighting with guix building:

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.

Trying
# su guix-builder1

works as well.

Any ideas?

Best regards,

Tomas Cech
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEARECAAYFAlOd0aUACgkQ37XrCapiVCMlpwCg088GsKtpiRARHDTHsYDrWMPV
E7wAoI+O8zI5tgCCSb9UlLWgHmJGfb0B
=zT8l
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 16 Jun 2014 00:48
(name . Tomas Cech)(address . tcech@suse.cz)(address . 17786@debbugs.gnu.org)
87d2e9fg6g.fsf@gnu.org
Hello,

Tomas Cech <tcech@suse.cz> skribis:

Toggle quote (14 lines)
> 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”?

How did you create the accounts?

Thanks for the report,
Ludo’.
L
L
Ludovic Courtès wrote on 16 Jun 2014 04:53
(name . Tomas Cech)(address . tcech@suse.cz)(address . 17786@debbugs.gnu.org)
87fvj5cbq7.fsf@gnu.org
Tomas Cech <tcech@suse.cz> skribis:

Toggle quote (27 lines)
> On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:
>>Hello,
>>
>>Tomas Cech <tcech@suse.cz> 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/nologin

So that’s all good.

The daemon simply does that (build.cc):

Toggle snippet (7 lines)
/* 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);

Can you try getgrnam("guix-builders") in C or some other language (from
Guile: (getgrnam "guix-builders")) ?

Does it make a difference if nscd is stopped or restarted?

Thanks,
Ludo’.
T
T
Tomas Cech wrote on 16 Jun 2014 13:42
(name . Ludovic Courtès)(address . ludo@gnu.org)
20140616204238.GG5647@venom
On Mon, Jun 16, 2014 at 01:52:36PM +0200, Ludovic Courtès wrote:
Toggle quote (44 lines)
>Tomas Cech <tcech@suse.cz> skribis:
>
>> On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:
>>>Hello,
>>>
>>>Tomas Cech <tcech@suse.cz> 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/nologin
>
>So 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"))

Toggle quote (2 lines)
>Does it make a difference if nscd is stopped or restarted?

No, it behaves the same with or without running nscd.

Thanks,

Tomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEARECAAYFAlOfVr0ACgkQ37XrCapiVCNacQCcDPbd9i3NMX8epc9E8EGvKjdx
FD4AoIxEVwk/fxRm1OBM/px67UXLw/2B
=SdEX
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 17 Jun 2014 02:57
(name . Tomas Cech)(address . tcech@suse.cz)(address . 17786@debbugs.gnu.org)
87mwdbg8oz.fsf@gnu.org
Hello,

Please keep 17786@debbugs.gnu.org Cc’d.

Tomas Cech <tcech@suse.cz> skribis:

Toggle quote (48 lines)
> On Mon, Jun 16, 2014 at 01:52:36PM +0200, Ludovic Courtès wrote:
>>Tomas Cech <tcech@suse.cz> skribis:
>>
>>> On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:
>>>>Hello,
>>>>
>>>>Tomas Cech <tcech@suse.cz> 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/nologin
>>
>>So 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?

Thanks,
Ludo’.
T
T
Tomas Cech wrote on 17 Jun 2014 03:04
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 17786@debbugs.gnu.org)
20140617100449.GD3416@crashnator.suse.cz
Hello,

On Tue, Jun 17, 2014 at 11:57:16AM +0200, Ludovic Courtès wrote:
Toggle quote (70 lines)
>Hello,
>
>Please keep 17786@debbugs.gnu.org Cc’d.
>
>Tomas Cech <tcech@suse.cz> skribis:
>
>> On Mon, Jun 16, 2014 at 01:52:36PM +0200, Ludovic Courtès wrote:
>>>Tomas Cech <tcech@suse.cz> skribis:
>>>
>>>> On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:
>>>>>Hello,
>>>>>
>>>>>Tomas Cech <tcech@suse.cz> 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/nologin
>>>
>>>So 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iEYEARECAAYFAlOgEsAACgkQ37XrCapiVCP5jACfUjU/y8/HTUePRiOCWbhhLpPT
QMgAn1gKcG+jJrrPwVeEjfinFVfoJFmW
=SYTf
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 17 Jun 2014 04:45
(name . Tomas Cech)(address . tcech@suse.cz)(address . 17786@debbugs.gnu.org)
87fvj3g3p9.fsf@gnu.org
close 17786
tags 17786 notabug
thanks

Tomas Cech <tcech@suse.cz> skribis:

Toggle quote (73 lines)
> On Tue, Jun 17, 2014 at 11:57:16AM +0200, Ludovic Courtès wrote:
>>Hello,
>>
>>Please keep 17786@debbugs.gnu.org Cc’d.
>>
>>Tomas Cech <tcech@suse.cz> skribis:
>>
>>> On Mon, Jun 16, 2014 at 01:52:36PM +0200, Ludovic Courtès wrote:
>>>>Tomas Cech <tcech@suse.cz> skribis:
>>>>
>>>>> On Mon, Jun 16, 2014 at 09:48:39AM +0200, Ludovic Courtès wrote:
>>>>>>Hello,
>>>>>>
>>>>>>Tomas Cech <tcech@suse.cz> 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/nologin
>>>>
>>>>So 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...

OK, good to know.

Thanks,
Ludo’.
L
L
Ludovic Courtès wrote on 17 Jun 2014 04:45
(no subject)
(address . control@debbugs.gnu.org)
87bntrg3on.fsf@gnu.org
close 17786
tags 17786 notabug
thanks
?
Your comment

This issue is archived.

To comment on this conversation send an email to 17786@patchwise.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 17786
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch