From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#25089: Can't build source derivations with Guix 0.11.0-4.1f41 Date: Sun, 04 Dec 2016 22:05:48 +0100 Message-ID: <87r35n5rrn.fsf@gnu.org> References: <20161202081008.GA30727@jasmine> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:34634) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cDe02-0003Xw-FT for bug-guix@gnu.org; Sun, 04 Dec 2016 16:07:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cDdzy-0002zK-Br for bug-guix@gnu.org; Sun, 04 Dec 2016 16:07:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:40803) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cDdzy-0002zE-7n for bug-guix@gnu.org; Sun, 04 Dec 2016 16:07:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cDdzy-0000rL-1w for bug-guix@gnu.org; Sun, 04 Dec 2016 16:07:02 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <20161202081008.GA30727@jasmine> (Leo Famulari's message of "Fri, 2 Dec 2016 03:10:08 -0500") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Leo Famulari Cc: 25089@debbugs.gnu.org Leo Famulari 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 =E2=80=98guix perform-download=E2=80=99 internal command), which w= as not the case before (see = .) > It fails like this: > > ------ > $ guix build hello --source --check > @ build-started /gnu/store/xv9vdk2dijx6nnl8hsawffwfnfmm5vny-hello-2.10.ta= r.gz.drv - x86_64-linux /var/log/guix/drvs/xv//9vdk2dijx6nnl8hsawffwfnfmm5v= ny-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/he= llo-2.10.tar.gz'... > ERROR: In procedure open-file: Permission denied: "/gnu/store/hbdalsf5lpf= 01x4dcknwx6xbn6n5km6k-hello-2.10.tar.gz" It should definitely have write permission on the output file. Could you =E2=80=98strace -f=E2=80=99 guix-daemon or something like that to= see under what UID =E2=80=98guix perform-download=E2=80=99 executes? It=E2=80=99s ex= pected to be running as a build user, but not in a chroot. I can=E2=80=99t 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/hbdalsf5lpf01x4d= cknwx6xbn6n5km6k-hello-2.10.tar.gz' > guix build: error: build failed: build of `/gnu/store/xv9vdk2dijx6nnl8hsa= wffwfnfmm5vny-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=E2=80=99s building it despite the fact that it=E2=80=99s alread= y there? Sounds fishy! Could it be that the sqlite.db being used doesn=E2=80=99t 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 =E2=80=98strace -f=E2=80=99 guix-daemon to see what direct= ory it creates? My suspicion is that it creates /tmp/guix-build-hello=E2=80=A6 but then tri= es to chdir to /home/leo/tmp/=E2=80=A6. TIA! Ludo=E2=80=99.