[Bio-packaging] Using a shared Guix store (was RE: testing out guix)

Ludovic Courtès ludo at gnu.org
Sat Jul 18 15:13:03 UTC 2015


"Cook, Malcolm" <MEC at stowers.org> skribis:

> However
>
> 	./pre-inst-env guix package -i hello
>
> Gives me
>
> 	guix package: error: build failed: the build users group `guix-builder' has no members
>
> But, but, I do have a group `guix-builder`
>
> I think the problem may be that my guix-builder group was defined in NIS whereas its members are not in NIS.

What does ‘getenv group guix-builder’ return?  It should show something
like:

  guixbuild:x:30000:guixbuilder01,guixbuilder02,guixbuilder03,guixbuilder04,guixbuilder05,guixbuilder06,guixbuilder07,guixbuilder08,guixbuilder09,guixbuilder10

Each build account must have ‘guix-builder’ in its supplementary group list.

> The daemon is running as user `guix` on host  ${GUIXHOST}

The daemon really needs to run as root, if possible:

  http://www.gnu.org/software/guix/manual/html_node/Build-Environment-Setup.html

> However trying to --install is not successful
>
> 	/gnu/bin/guix package --install hello
> 	accepted connection from pid 26597, uid 1232
> 	error: while creating directory `/gnu/var/guix/profiles/per-user/mec': Permission denied
> 	Please create the `/gnu/var/guix/profiles/per-user/mec' directory, with you as the owner.
> 	Try "info '(guix) Invoking guix package'" for more information.
>
> Which leads me to think the documentation is in error where it says "The per-user directory is created when guix-daemon is started".  

Well, /var/guix/profiles/per-user is created by the daemon, but .../mec
is created by ‘guix package’.

> Creating it by hand (owned by guix, with write access to all) :
>
> 	mkdir /gnu/var/guix/profiles/per-user ## the doc says this should happen by the daemon but not!  FIXME! BUG?
> 	chmod a+rwx /gnu/var/guix/profiles/per-user

Perfect.

The daemon really does create /gnu/var/guix/profiles/per-user, making it
world-writable (see nix/libstore/local-store.cc:254.)

However, you mentioned guix-daemon was *not* running as root, in which
case it does not attempt to create this directory.  That could be the
reason.

Thanks for your report,
Ludo’.



More information about the bio-packaging mailing list