Subject: Re: bug#32183: New ‘guix pull’/root/.config/current/bin/guix: Permission denied

From: [email-masked] (Ludovic Courtès)
Date: Sun, 09 Sep 2018 16:44:31 +0200

Hello,

Pjotr Prins <[email-masked]> skribis:

>   guix pull
>
> 	Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...
> 	Building from this channel:
> 		guix      https://git.savannah.gnu.org/git/guix.git   91cc2a3
> 	guile: warning: failed to install locale
> 	substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> 	substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
> 	Downloading https://mirror.hydra.gnu.org/guix/nar/gzip/xw7kc681ivcls1lpp0qy0xljljzd70dr-groff-1.22.3...
> 	 groff-1.22.3  2.7MiB                                                                   1.2MiB/s 00:02 [##################] 100.0%
>
> 	/gnu/store/sf84mb2y5vcykwq9fv02l2nipp34qng2-guix-daemon-0.15.0-3.3d43017/libexec/guix/download: line 8: /root/.config/guix/current/bin/guix: Permission denied
> 	/gnu/store/sf84mb2y5vcykwq9fv02l2nipp34qng2-guix-daemon-0.15.0-3.3d43017/libexec/guix/download: line 8: exec: /root/.config/guix/current/bin/guix: cannot execute: Permission denied
> 	builder for `/gnu/store/24ag580271wa640529ycykdwj0lk0g6z-curl-7.61.1.tar.xz.drv' failed with exit code 126
> 	cannot build derivation `/gnu/store/17lw3svpjqygpj739yynyz6b8abddikx-curl-7.61.1.drv': 1 dependencies couldn't be built
> 	Backtrace:
> 						18 (primitive-load "/gnu/store/blfsj798qh4i2pmrcvyaidmsdiz?")
> 	In ice-9/eval.scm:
> 			155:9 17 (_ _)
>
> Can you think of a way of getting out of this loop? What am I doing wrong here?

I don’t think you’re doing anything wrong.  Could anyone of you who
experience this problem strace guix-daemon?  I’ve thought about this and
don’t understand where that EACCES (“Permission denied”) comes from.

Specifically, you’d have to run something along these lines as root:

  strace -f -p $(pidof guix-daemon) -o log

and then, as root or non-root (it doesn’t matter), run, say:

  guix build curl -S --no-substitutes

Thanks in advance!

Ludo’.