unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41
@ 2016-12-02  8:10 Leo Famulari
  2016-12-04 21:05 ` Ludovic Courtès
  2017-01-11 16:22 ` Ludovic Courtès
  0 siblings, 2 replies; 5+ messages in thread
From: Leo Famulari @ 2016-12-02  8:10 UTC (permalink / raw)
  To: 25089

I'm having trouble building source code derivations using the latest
guix development snapshot, 0.11.0-4.1f41. I don't seem to have any
trouble building packages themselves.

I'm using Guix on a foreign distro (Debian).

I think the problem is in the daemon because it doesn't manifest just
because I've switched to a profile with the 0.11.0-4.1f41 snapshot; I
have to use that version of the daemon to see the problem.

It fails like this:

------
$ guix build hello --source --check
@ build-started /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv - x86_64-linux /var/log/guix/drvs/xv//9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv.bz2
warning: failed to install locale: Invalid argument

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
following redirection to `http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
following redirection to `http://mirrors.ibiblio.org/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From ftp://ftp.cs.tu-berlin.de/pub/gnu/hello/hello-2.10.tar.gz...
ERROR: In procedure connect*: Connection timed out

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From ftp://ftp.funet.fi/pub/mirrors/ftp.gnu.org/gnu/hello/hello-2.10.tar.gz...
ERROR: Throw to key `ftp-error' with args `(#<input-output: socket 11> "PASV" 425 "You cannot use PASV on IPv6 connections. Use EPSV instead.\r")'.

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From http://ftp.gnu.org/pub/gnu/hello/hello-2.10.tar.gz...
ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From http://mirror.hydra.gnu.org/file/hello-2.10.tar.gz/sha256/0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i...
ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From http://tarballs.nixos.org/sha256/0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i...
following redirection to `http://tarballs.nixos.org/sha512/e301d785135c52575a8b4c35994c0316f8d366451f604eb5e74c1f907077502aebd5a1a32cd1e26cd7ca32c22f4de5623a335f8ae7e735ac977420df664f01de'...
ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"
failed to download "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz" from "mirror://gnu/hello/hello-2.10.tar.gz"
builder for `/gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv' failed to produce output path `/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz'
@ build-failed /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv - 1 builder for `/gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv' failed to produce output path `/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz'
guix build: error: build failed: build of `/gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv' failed
------

This file /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
already exists in my store.

If I set $TMPDIR to something besides the default, it fails like this:

------
$ guix build hello --source --check
guix build: error: build failed: while setting up the build environment: changing into `/home/leo/tmp/guix-build/guix-build-hello-2.10.tar.gz.drv-0': No such file or directory
------

The previous Guix snapshot, 0.11.0-3.7ca3, works as expected:

------
$ guix build hello --source --check
@ build-started /gnu/store/gx0nbs6krwawz0z4ljy2nc8lrnxzmx7g-hello-2.10.tar.gz.drv - x86_64-linux /var/log/guix/drvs/gx//0nbs6krwawz0z4ljy2nc8lrnxzmx7g-hello-2.10.tar.gz.drv.bz2

Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
following redirection to `http://mirror.clarkson.edu/gnu/hello/hello-2.10.tar.gz'...
 ...10.tar.gz  709KiB               2.2MiB/s 00:00 [####################] 100.0%
/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
------

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41
  2016-12-02  8:10 bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41 Leo Famulari
@ 2016-12-04 21:05 ` Ludovic Courtès
  2016-12-06  1:14   ` Leo Famulari
  2017-01-11 16:22 ` Ludovic Courtès
  1 sibling, 1 reply; 5+ messages in thread
From: Ludovic Courtès @ 2016-12-04 21:05 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 25089

Leo Famulari <leo@famulari.name> skribis:

> I'm having trouble building source code derivations using the latest
> guix development snapshot, 0.11.0-4.1f41. I don't seem to have any
> trouble building packages themselves.
>
> I'm using Guix on a foreign distro (Debian).
>
> I think the problem is in the daemon because it doesn't manifest just
> because I've switched to a profile with the 0.11.0-4.1f41 snapshot; I
> have to use that version of the daemon to see the problem.

The main difference is that downloads are performed by the daemon itself
(via the ‘guix perform-download’ internal command), which was not the
case before (see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22774#13>.)

> It fails like this:
>
> ------
> $ guix build hello --source --check
> @ build-started /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv - x86_64-linux /var/log/guix/drvs/xv//9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv.bz2
> warning: failed to install locale: Invalid argument

Aaaah, locales!  :-)

> Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
> From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
> following redirection to `http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> following redirection to `http://mirrors.ibiblio.org/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

It should definitely have write permission on the output file.

Could you ‘strace -f’ guix-daemon or something like that to see under
what UID ‘guix perform-download’ executes?  It’s expected to be running
as a build user, but not in a chroot.

I can’t reproduce this on GuixSD.

> @ build-failed /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv - 1 builder for `/gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv' failed to produce output path `/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz'
> guix build: error: build failed: build of `/gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv' failed
> ------
>
> This file /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
> already exists in my store.

You mean it’s building it despite the fact that it’s already there?
Sounds fishy!

Could it be that the sqlite.db being used doesn’t correspond to the
store (wrong localstatedir mistake)?

> If I set $TMPDIR to something besides the default, it fails like this:
>
> ------
> $ guix build hello --source --check
> guix build: error: build failed: while setting up the build environment: changing into `/home/leo/tmp/guix-build/guix-build-hello-2.10.tar.gz.drv-0': No such file or directory
> ------

That seems to come from build.cc:2204 (probably unrelated to the problem
above.)

Again, could you ‘strace -f’ guix-daemon to see what directory it
creates?

My suspicion is that it creates /tmp/guix-build-hello… but then tries to
chdir to /home/leo/tmp/….

TIA!

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41
  2016-12-04 21:05 ` Ludovic Courtès
@ 2016-12-06  1:14   ` Leo Famulari
  2016-12-07  9:46     ` Ludovic Courtès
  0 siblings, 1 reply; 5+ messages in thread
From: Leo Famulari @ 2016-12-06  1:14 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 25089


[-- Attachment #1.1: Type: text/plain, Size: 1739 bytes --]

On Sun, Dec 04, 2016 at 10:05:48PM +0100, Ludovic Courtès wrote:
> Leo Famulari <leo@famulari.name> skribis:
> The main difference is that downloads are performed by the daemon itself
> (via the ‘guix perform-download’ internal command), which was not the
> case before (see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22774#13>.)

Okay, I'll investigate this change.

> > Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
> > From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
> > following redirection to `http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> > following redirection to `http://mirrors.ibiblio.org/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> > ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"
> 
> It should definitely have write permission on the output file.
> 
> Could you ‘strace -f’ guix-daemon or something like that to see under
> what UID ‘guix perform-download’ executes?  It’s expected to be running
> as a build user, but not in a chroot.

It does appear to be running as a build user.

I realized that I can, in fact, build source derivations, but I can't
--check them. I use `guix build --source --check foo` to make sure a
package has the right source URL.

So my original report was misleading, sorry.

I can reproduce this on GuixSD, after reconfiguring my system based on
8243951ef1b9d (gnu: guix: Update development snapshot.).

Can you try reproducing it like this?

$ guix build hello --source && guix build hello --source --check

I've attached gzip compressed strace logs, created with `strace -f -p
PID -o FILE`.

[-- Attachment #1.2: log-bad-0.11.0-7.e11c.gz --]
[-- Type: application/x-gunzip, Size: 53023 bytes --]

[-- Attachment #1.3: log-good-0.11.0-3.7ca3.gz --]
[-- Type: application/x-gunzip, Size: 103462 bytes --]

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41
  2016-12-06  1:14   ` Leo Famulari
@ 2016-12-07  9:46     ` Ludovic Courtès
  0 siblings, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2016-12-07  9:46 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 25089

Leo Famulari <leo@famulari.name> skribis:

>> > Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
>> > From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
>> > following redirection to `http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
>> > following redirection to `http://mirrors.ibiblio.org/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
>> > ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

[...]

> Can you try reproducing it like this?
>
> $ guix build hello --source && guix build hello --source --check

Indeed, I can reproduce it.

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41
  2016-12-02  8:10 bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41 Leo Famulari
  2016-12-04 21:05 ` Ludovic Courtès
@ 2017-01-11 16:22 ` Ludovic Courtès
  1 sibling, 0 replies; 5+ messages in thread
From: Ludovic Courtès @ 2017-01-11 16:22 UTC (permalink / raw)
  To: Leo Famulari; +Cc: 25089-done

Leo Famulari <leo@famulari.name> skribis:

> $ guix build hello --source --check
> @ build-started /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv - x86_64-linux /var/log/guix/drvs/xv//9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.tar.gz.drv.bz2
> warning: failed to install locale: Invalid argument
>
> Starting download of /gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz
>From http://ftpmirror.gnu.org/hello/hello-2.10.tar.gz...
> following redirection to `http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> following redirection to `http://mirrors.ibiblio.org/gnu/ftp/gnu/hello/hello-2.10.tar.gz'...
> ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz"

I believe this is fixed by commit
9b5364a3afb03414bd6e3ded2fbfdacabe4e8870.

Thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-01-11 16:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-02  8:10 bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41 Leo Famulari
2016-12-04 21:05 ` Ludovic Courtès
2016-12-06  1:14   ` Leo Famulari
2016-12-07  9:46     ` Ludovic Courtès
2017-01-11 16:22 ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).