GNU bug report logs - #30370
guix system init can't find guix-register

Previous Next

Package: guix;

Reported by: Diego Nicola Barbato <dnbarbato <at> posteo.de>

Date: Tue, 6 Feb 2018 17:06:01 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 30370 in the body.
You can then email your comments to 30370 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Tue, 06 Feb 2018 17:06:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Diego Nicola Barbato <dnbarbato <at> posteo.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 06 Feb 2018 17:06:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: bug-guix <at> gnu.org
Subject: guix system init can't find guix-register
Date: Tue, 06 Feb 2018 18:05:02 +0100
Hello Guix,

I tried to install GuixSD on a loop device (/dev/loop1) whith its main
partition mounted under /mnt like this:

$ guix system init /mnt/etc/config.scm /mnt

This failed with the following error message:

Betriebssystem unter »/mnt« wird initialisiert …
In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
copying to '/mnt'...
guix system: error: fport_write: Datenübergabe unterbrochen (broken pipe)

I run GuixSD on an x86_64 machine (commit:
a3a932c008d0d9051eb8cdfdcea07ebd7b68b1b3) and the configfile is a copy
of the `bare-bones.tmpl' with the target field in the
bootloader-configuration changed to "/dev/loop1".

Greetings

Diego




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Thu, 08 Feb 2018 13:51:01 GMT) Full text and rfc822 format available.

Message #8 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Thu, 08 Feb 2018 14:50:40 +0100
Hi Diego,

Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:

> I tried to install GuixSD on a loop device (/dev/loop1) whith its main
> partition mounted under /mnt like this:
>
> $ guix system init /mnt/etc/config.scm /mnt
>
> This failed with the following error message:
>
> Betriebssystem unter »/mnt« wird initialisiert …
> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
> copying to '/mnt'...
> guix system: error: fport_write: Datenübergabe unterbrochen (broken pipe)

I suppose you’re running this in a chroot, right?  How did you populate
that chroot?  Could it be that it misses some store items?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Thu, 08 Feb 2018 16:00:02 GMT) Full text and rfc822 format available.

Message #11 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Thu, 08 Feb 2018 16:59:36 +0100
Hello Ludo,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Hi Diego,
>
> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>
>> I tried to install GuixSD on a loop device (/dev/loop1) whith its main
>> partition mounted under /mnt like this:
>>
>> $ guix system init /mnt/etc/config.scm /mnt

The above line should actually be:
$ sudo guix system init /mnt/etc/config.scm /mnt

>> This failed with the following error message:
>>
>> Betriebssystem unter »/mnt« wird initialisiert …
>> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
>> copying to '/mnt'...
>> guix system: error: fport_write: Datenübergabe unterbrochen (broken pipe)
>
> I suppose you’re running this in a chroot, right?  How did you populate
> that chroot?  Could it be that it misses some store items?

I am not running this in a chroot.
I am afraid the explanation of what I was doing was a bit unclear.  I
was able to reproduce the error with the following steps:

$ mkdir test
$ cd test
$ qemu-img create -f raw test.img 7G
$ cfdisk test.img

I selected gpt and wrote two partitions: the first one with a size of 1M
and type BIOS boot, the second with a size of 7G and type Linux
filesystem.

$ sudo losetup --partscan --show --find test.img
/dev/loop1
$ sudo mkfs.ext4 -L my-root /dev/loop1p2
$ sudo mount /dev/loop1p2 /mnt
$ sudo mkdir /mnt/etc
$ sudo sh -c "sed 's#/dev/sdX#/dev/loop1#g' ../.config/guix/latest/gnu/system/examples/bare-bones.tmpl > /mnt/etc/config.scm"
$ sudo guix system init /mnt/etc/config.scm /mnt
The following derivation will be built:
   /gnu/store/nxy7lfbh8mx7ndrigl1bi3clsm1pnhjh-bootloader-installer.drv
/gnu/store/viyn658a9hgsf0g8r4lan24hb0f8515d-system
/gnu/store/aaigj9lvdyx2wpyyc40z51mjl7ff1zr5-grub.cfg
/gnu/store/m74kz7rvxyzabx6i4p8gd9anws84s45z-grub-2.02
/gnu/store/s4bxrnb584jm0cy5gm3jr8hva341cj2f-bootloader-installer

Betriebssystem unter »/mnt« wird initialisiert …
In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
guix system: error: failed to register '/gnu/store/2g4dzfcs6nf906d7jl6q225llmnv7krl-linux-libre-4.15' under '/mnt'
copying to '/mnt'...

It does not matter that it is a loopback device.  The same thing happens
if I try to install it on a USB flash drive.
The issue seems to be that there is no
d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/
in my store.  All I could find was this:
80k8kz7qk9palbn0ccw7y3fgym8jxlps-guix-0.12.0-10.ba2260d/

Greetings

Diego




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Thu, 08 Feb 2018 22:01:01 GMT) Full text and rfc822 format available.

Message #14 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Thu, 08 Feb 2018 23:00:10 +0100
Hello,

Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:

> Betriebssystem unter »/mnt« wird initialisiert …
> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
> guix system: error: failed to register '/gnu/store/2g4dzfcs6nf906d7jl6q225llmnv7krl-linux-libre-4.15' under '/mnt'
> copying to '/mnt'...
>
> It does not matter that it is a loopback device.  The same thing happens
> if I try to install it on a USB flash drive.
> The issue seems to be that there is no
> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/
> in my store.  All I could find was this:
> 80k8kz7qk9palbn0ccw7y3fgym8jxlps-guix-0.12.0-10.ba2260d/

Could you try to figure out where that
d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d comes from?

Also, current master is at 0.14.0*, so it’s surprising that you end up
using such an old version.

Could it be that ~root/.config/guix/latest points to that old Guix?
Does “sudo guix pull” help?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Fri, 09 Feb 2018 10:28:02 GMT) Full text and rfc822 format available.

Message #17 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Fri, 09 Feb 2018 11:26:50 +0100
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Hello,
>
> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>
>> Betriebssystem unter »/mnt« wird initialisiert …
>> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
>> guix system: error: failed to register '/gnu/store/2g4dzfcs6nf906d7jl6q225llmnv7krl-linux-libre-4.15' under '/mnt'
>> copying to '/mnt'...
>>
>> It does not matter that it is a loopback device.  The same thing happens
>> if I try to install it on a USB flash drive.
>> The issue seems to be that there is no
>> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/
>> in my store.  All I could find was this:
>> 80k8kz7qk9palbn0ccw7y3fgym8jxlps-guix-0.12.0-10.ba2260d/
>
> Could you try to figure out where that
> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d comes from?

I could not figure out where this comes from.  As I mentioned it is not
in my store, yet (only) "guix system init" seems to look for it.

> Also, current master is at 0.14.0*, so it’s surprising that you end up
> using such an old version.

It is indeed quite surprising.  Especially since "type -P guix-register"
returns "/run/current-system/profile/sbin/guix-register" which links to
"/gnu/store/b5hfsdq8yzcqfvikfhm0gk95xa5pfwgy-guix-0.14.0-7.33988f9/sbin/guix-register"
and "type -P guix" returns "/run/current-system/profile/bin/guix" which links to
"/gnu/store/b5hfsdq8yzcqfvikfhm0gk95xa5pfwgy-guix-0.14.0-7.33988f9/bin/guix"
(for both my user and root).

> Could it be that ~root/.config/guix/latest points to that old Guix?

It did not (I ran "guix pull" as user and as root last Friday,
2018-02-02).  And now after running "guix pull" again (as both user and
root) ~root/.config/guix/latest and ~/.config/guix/latest point to
/gnu/store/a565qard9xc0f0mg0vlbsrn419qgwfp9-guix-latest.

> Does “sudo guix pull” help?

Unfortunately "sudo guix pull" and "guix pull" did not help either.
The error persists even after running
"guix system reconfigure /etc/config.scm" and rebooting.

Greetings

Diego




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Fri, 09 Feb 2018 10:56:01 GMT) Full text and rfc822 format available.

Message #20 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Fri, 09 Feb 2018 11:55:16 +0100
Hi,

Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> Hello,
>>
>> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>>
>>> Betriebssystem unter »/mnt« wird initialisiert …
>>> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
>>> guix system: error: failed to register '/gnu/store/2g4dzfcs6nf906d7jl6q225llmnv7krl-linux-libre-4.15' under '/mnt'
>>> copying to '/mnt'...
>>>
>>> It does not matter that it is a loopback device.  The same thing happens
>>> if I try to install it on a USB flash drive.
>>> The issue seems to be that there is no
>>> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/
>>> in my store.  All I could find was this:
>>> 80k8kz7qk9palbn0ccw7y3fgym8jxlps-guix-0.12.0-10.ba2260d/
>>
>> Could you try to figure out where that
>> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d comes from?
>
> I could not figure out where this comes from.  As I mentioned it is not
> in my store, yet (only) "guix system init" seems to look for it.

I mean, can you run something like:

  grep -r d4wwx93gqizx132zjk7h1ir7rzph0pig \
    $(dirname $(dirname $(readlink -f $(type -P guix))))

?

TIA,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Fri, 09 Feb 2018 13:05:01 GMT) Full text and rfc822 format available.

Message #23 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Fri, 09 Feb 2018 14:04:11 +0100
[Message part 1 (text/plain, inline)]
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Hi,
>
> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>
>> ludo <at> gnu.org (Ludovic Courtès) writes:
>>
>>> Hello,
>>>
>>> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>>>
>>>> Betriebssystem unter »/mnt« wird initialisiert …
>>>> In execvp of /gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin/guix-register: Datei oder Verzeichnis nicht gefunden
>>>> guix system: error: failed to register '/gnu/store/2g4dzfcs6nf906d7jl6q225llmnv7krl-linux-libre-4.15' under '/mnt'
>>>> copying to '/mnt'...
>>>>
>>>> It does not matter that it is a loopback device.  The same thing happens
>>>> if I try to install it on a USB flash drive.
>>>> The issue seems to be that there is no
>>>> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/
>>>> in my store.  All I could find was this:
>>>> 80k8kz7qk9palbn0ccw7y3fgym8jxlps-guix-0.12.0-10.ba2260d/
>>>
>>> Could you try to figure out where that
>>> d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d comes from?
>>
>> I could not figure out where this comes from.  As I mentioned it is not
>> in my store, yet (only) "guix system init" seems to look for it.
>
> I mean, can you run something like:
>
>   grep -r d4wwx93gqizx132zjk7h1ir7rzph0pig \
>     $(dirname $(dirname $(readlink -f $(type -P guix))))

This did not return anything.
But I also tried running
"grep -r d4wwx93gqizx132zjk7h1ir7rzph0pig ~/.config/guix/latest" which
returned this:
/home/diego/.config/guix/latest/guix/config.scm:  "/gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin")
Übereinstimmungen in Binärdatei /home/diego/.config/guix/latest/guix/config.go

This is the file:
[config.scm (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
Greetings

Diego

Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Fri, 09 Feb 2018 16:09:01 GMT) Full text and rfc822 format available.

Message #26 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Fri, 09 Feb 2018 17:08:51 +0100
Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:

> But I also tried running
> "grep -r d4wwx93gqizx132zjk7h1ir7rzph0pig ~/.config/guix/latest" which
> returned this:
> /home/diego/.config/guix/latest/guix/config.scm:  "/gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin")

Bingo!  This string is inherit from the (guix config) of your initial
installation, the one you used to run ‘guix pull’.

I would call this a ‘guix pull’ bug.

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#30370; Package guix. (Sun, 11 Feb 2018 17:33:01 GMT) Full text and rfc822 format available.

Message #29 received at 30370 <at> debbugs.gnu.org (full text, mbox):

From: Diego Nicola Barbato <dnbarbato <at> posteo.de>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 30370 <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Sun, 11 Feb 2018 18:32:38 +0100
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:
>
>> But I also tried running
>> "grep -r d4wwx93gqizx132zjk7h1ir7rzph0pig ~/.config/guix/latest" which
>> returned this:
>> /home/diego/.config/guix/latest/guix/config.scm:  "/gnu/store/d4wwx93gqizx132zjk7h1ir7rzph0pig-guix-0.12.0-10.ba2260d/sbin")
>
> Bingo!  This string is inherit from the (guix config) of your initial
> installation, the one you used to run ‘guix pull’.
>
> I would call this a ‘guix pull’ bug.

I think this is a bug in the ‘build’ procedure defined in build-self.scm
which is used by guix pull’ and which uses the (guix build pull) module
to generate a new config.scm.  It uses the value for %sbindir defined in
(guix config) which causes it to be passed on unchanged.
My guess is that (find-best-packages-by-name "guix" #f) should be used
to determine the correct guix instead, which is how the values for the
dependencies (libgcrypt, zlib, ...) are determined, and that this should
be used to get the sbin directory with ‘string-append’.
WDYT?

Greetings

Diego




Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Fri, 16 Feb 2018 10:20:02 GMT) Full text and rfc822 format available.

Notification sent to Diego Nicola Barbato <dnbarbato <at> posteo.de>:
bug acknowledged by developer. (Fri, 16 Feb 2018 10:20:02 GMT) Full text and rfc822 format available.

Message #34 received at 30370-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 30370-done <at> debbugs.gnu.org
Subject: Re: bug#30370: guix system init can't find guix-register
Date: Fri, 16 Feb 2018 11:19:00 +0100
Closing this bug, which was fixed by commit
47551a761bb110e0ae2402eaf014076fbe67af0f.

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 16 Mar 2018 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 35 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.