GNU bug report logs - #45654
Building guile on x86_64 for aarch64 fails because of a missing guile

Previous Next

Package: guix;

Reported by: Stefan <stefan-guix <at> vodafonemail.de>

Date: Mon, 4 Jan 2021 15:33:01 UTC

Severity: normal

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

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 45654 in the body.
You can then email your comments to 45654 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#45654; Package guix. (Mon, 04 Jan 2021 15:33:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan <stefan-guix <at> vodafonemail.de>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 04 Jan 2021 15:33:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: bug-guix <at> gnu.org
Subject: Building guile on x86_64 for aarch64 fails because of a missing guile
Date: Mon, 4 Jan 2021 16:32:28 +0100
Hi!

I setup my virtual x86_64 system with an qemu-binfmt-service-type for aarch64 and tried to build guix for aarch64. But this failed because of a missing guile:

stefan <at> guix ~$ guix build -s aarch64-linux guix <at> 1.2.0-8.7624ebb
Folgende Ableitung wird erstellt:
   /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv
/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv wird erstellt …
while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed with exit code 1
Erstellung von /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv fehlgeschlagen
Das Erstellungsprotokoll kann unter „/var/log/guix/drvs/4w/dh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv.bz2“ eingesehen werden.
guix build: error: build of `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed

I did a guix gc and then tried to build guile itself. But again it failed to build because it is missing guile itself.

stefan <at> guix ~$ guix build --check --no-grafts --system=aarch64-linux guile <at> 3.0.2
24,0 MB werden heruntergeladen:
   /gnu/store/6yw1j6n9rklnfgxs2fsi81fis23lvkjw-bash-minimal-5.0.16
   …
Substituiere /gnu/store/z18hwxwgk551y4a0f6j1dxhmp208i4ha-bash-static-5.0.16 …
Lade von https://ci.guix.gnu.org/nar/lzip/z18hwxwgk551y4a0f6j1dxhmp208i4ha-bash-static-5.0.16 herunter …
 bash-static-5.0.16  502KiB                                                                                 3.3MiB/s 00:00 [##################] 100.0%
…
/gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv wird erstellt …
while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv' failed with exit code 1
Erstellung von /gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv fehlgeschlagen
Das Erstellungsprotokoll kann unter „/var/log/guix/drvs/qa/15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv.bz2“ eingesehen werden.
guix build: error: build of `/gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv' failed

Then I thought to try to download the referred but missing guile:

stefan <at> guix ~$ guix download https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
Starting download of /tmp/guix-file.q3Qwo3
From https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2...
 …62s2i8y7rl-guile-3.0.2  6.8MiB                                                                            5.6MiB/s 00:01 [##################] 100.0%
/gnu/store/5aq0m64wlh6mhi6g61z13asdnv8dmq3k-x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
159d8i1yp0ksh7c9fib2ki7pljjhszk6l3bs9xibnx0kjh78rvli

Afterwards building guix for aarch64 was possible.


Bye

Stefan



Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Mon, 04 Jan 2021 18:09:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: bug-guix <at> gnu.org
Subject: Re: Building guile on x86_64 for aarch64 fails because of a missing
 guile
Date: Mon, 4 Jan 2021 19:08:24 +0100
Hi!

> Then I thought to try to download the referred but missing guile:
> 
> stefan <at> guix ~$ guix download https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
> Starting download of /tmp/guix-file.q3Qwo3
> From https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2...
> …62s2i8y7rl-guile-3.0.2  6.8MiB                                                                            5.6MiB/s 00:01 [##################] 100.0%
> /gnu/store/5aq0m64wlh6mhi6g61z13asdnv8dmq3k-x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
> 159d8i1yp0ksh7c9fib2ki7pljjhszk6l3bs9xibnx0kjh78rvli
> 
> Afterwards building guix for aarch64 was possible.

I was too optimistic with this, I didn't wait for the result before sending the e-mail.

Well, the rebuild failed again, as the freshly downloaded guile is not part of the build environment. So the same error happened again:

while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv' failed with exit code 1

This becomes a blocker now:

 • There is no substitute of guix <at> 1.2.0-8.7624ebb for aarch64.
 • Due to <https://issues.guix.gnu.org/41654> building locally an aarch64 is not possible for me.
 • Due to ‘guix system’ not supporting ‘--without-test’ I can’t avoid that error when reconfiguring.
 • Due to this error with a missing guile even building on x86_64 is impossible.
 • Cross-building on x86_64 is possible but creates a derivation with a different hash. So it will not satisfy the need for a ‘guix system reconfigure’ on aarch64.


Bye

Stefan





Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Tue, 05 Jan 2021 12:27:02 GMT) Full text and rfc822 format available.

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

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Stefan <stefan-guix <at> vodafonemail.de>
Cc: 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of
 a missing guile
Date: Tue, 5 Jan 2021 14:25:35 +0200
[Message part 1 (text/plain, inline)]
On Mon, Jan 04, 2021 at 07:08:24PM +0100, Stefan wrote:
> Hi!
> 
> > Then I thought to try to download the referred but missing guile:
> > 
> > stefan <at> guix ~$ guix download https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
> > Starting download of /tmp/guix-file.q3Qwo3
> > From https://ci.guix.gnu.org/nar/lzip/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2...
> > …62s2i8y7rl-guile-3.0.2  6.8MiB                                                                            5.6MiB/s 00:01 [##################] 100.0%
> > /gnu/store/5aq0m64wlh6mhi6g61z13asdnv8dmq3k-x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2
> > 159d8i1yp0ksh7c9fib2ki7pljjhszk6l3bs9xibnx0kjh78rvli
> > 
> > Afterwards building guix for aarch64 was possible.
> 
> I was too optimistic with this, I didn't wait for the result before sending the e-mail.
> 
> Well, the rebuild failed again, as the freshly downloaded guile is not part of the build environment. So the same error happened again:
> 
> while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
> builder for `/gnu/store/qa15xk65hfx8vhwbnff62iy6g8q9d764-guile-3.0.2.drv' failed with exit code 1
> 
> This becomes a blocker now:
> 
>  • There is no substitute of guix <at> 1.2.0-8.7624ebb for aarch64.
>  • Due to <https://issues.guix.gnu.org/41654> building locally an aarch64 is not possible for me.
>  • Due to ‘guix system’ not supporting ‘--without-test’ I can’t avoid that error when reconfiguring.
>  • Due to this error with a missing guile even building on x86_64 is impossible.
>  • Cross-building on x86_64 is possible but creates a derivation with a different hash. So it will not satisfy the need for a ‘guix system reconfigure’ on aarch64.
> 

I just came across this today myself. try 'sudo herd restart
guix-daemon'. It's what made it suddenly start working for me (I
reconfigured to add qemu-binfmt service without restarting).

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Tue, 05 Jan 2021 14:56:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of
 a missing guile
Date: Tue, 5 Jan 2021 15:55:29 +0100
Hi Efraim!

> I just came across this today myself. try 'sudo herd restart
> guix-daemon'. It's what made it suddenly start working for me (I
> reconfigured to add qemu-binfmt service without restarting).

Indeed I didn’t restart guix-daemon after the reconfigure. I looked through my console log again and I see that I did a reboot after facing this problem. So the guix-daemon should not have been the problem in the end.

I retried everything now: reconfigure, restart guix-daemon, build guix for aarch64, but unfortunately the problem remains. 

Thanks for your response Efraim, it gives me some hope that I can escape my deadlock somehow.


stefan <at> guix ~$ sudo -E guix system reconfigure guix-system.scm 
Passwort: 
/gnu/store/bhz37cjjhqsfd26vrnlka6qxirqnw6q8-system
/gnu/store/7f385ijy7r9j3vxsisizhk7r9xpf2q5n-grub.cfg

System wird aktiviert …
making '/gnu/store/bhz37cjjhqsfd26vrnlka6qxirqnw6q8-system' the current system...
setting up setuid programs in '/run/setuid-programs'...
populating /etc from /gnu/store/xkd47jda21whyc70gfy4ackvlkmjaslp-etc...
`/gnu/store/4blizgsx21j1hfn4v25gs4235cq8ani7-openssh-authorized-keys/stefan' -> `/etc/ssh/authorized_keys.d/stefan'
Folgende Ableitungen werden erstellt:
   /gnu/store/ipsj88x3bxm0i1ygs6sh03c87g3qq8lx-install-bootloader.scm.drv
   /gnu/store/y201j3lz7cc5sxv4fx8094aan4dyaxps-module-import.drv

0,7 MB werden heruntergeladen
Lade von https://ci.guix.gnu.org/nar/lzip/wjpkjxbgmirxdy5r3jhy83pb50m9i48s-module-import-compiled herunter …
 module-import-compiled  671KiB                                                                             2.0MiB/s 00:00 [##################] 100.0%

/gnu/store/y201j3lz7cc5sxv4fx8094aan4dyaxps-module-import.drv wird erstellt …
/gnu/store/ipsj88x3bxm0i1ygs6sh03c87g3qq8lx-install-bootloader.scm.drv wird erstellt …
guix system: Bootloader erfolgreich auf „/boot/efi“ installiert
0,0 MB werden heruntergeladen
Lade von https://ci.guix.gnu.org/nar/lzip/q9wrh0rrhq3sy3n2i6m73ijql7a1m2nm-module-import-compiled herunter …
 module-import-compiled  24KiB                                                                               65KiB/s 00:00 [##################] 100.0%

Folgende Ableitung wird erstellt:
   /gnu/store/jympl6hv53c7df6mm0jkjjzq0zzxi2yw-upgrade-shepherd-services.scm.drv

/gnu/store/jympl6hv53c7df6mm0jkjjzq0zzxi2yw-upgrade-shepherd-services.scm.drv wird erstellt …
shepherd: Service host-name has been started.
shepherd: Service user-homes has been started.
shepherd: Service host-name has been started.
shepherd: Service term-auto could not be started.
Um die Aktualisierung abzuschließen, können Sie für jeden Dienst, der
nicht automatisch neu gestartet werden konnte, „herd restart DIENST“
ausführen, um ihn anzuhalten, zu aktualisieren und neu zu starten.
Führen Sie „herd status“ aus, um die Dienste auf Ihrem System zu sehen.
stefan <at> guix ~$ sudo herd restart guix-daemon
Service guix-daemon has been stopped.
Service guix-daemon has been started.
stefan <at> guix ~$ guix build --system=aarch64-linux guix 
Folgende Ableitung wird erstellt:
   /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv
/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv wird erstellt …
while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed with exit code 1
Erstellung von /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv fehlgeschlagen
Das Erstellungsprotokoll kann unter „/var/log/guix/drvs/4w/dh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv.bz2“ eingesehen werden.
guix build: error: build of `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed


Bye

Stefan



Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Tue, 05 Jan 2021 17:22:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of
 a missing guile
Date: Tue, 5 Jan 2021 18:20:53 +0100
Hi!

I found a workaround, starting the guix-daemon manually with PATH and --disable-chroot:

stefan <at> guix ~$ sudo herd stop guix-daemon
Service guix-daemon has been stopped.
stefan <at> guix ~$ sudo PATH=/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin /gnu/store/ca91bk34z3hmzv5d8j5xi0z8f4riyx7m-guix-1.2.0-8.7624ebb/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --log-compression bzip2 --discover=no --substitute-urls https://ci.guix.gnu.org --disable-chroot &

Now ‘guix build --system=aarch64-linux guix’ is running, however, it is not finished yet.


Bye

Stefan





Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Wed, 06 Jan 2021 11:15:01 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Efraim Flashner <efraim <at> flashner.co.il>
Cc: Stefan <stefan-guix <at> vodafonemail.de>, 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because
 of a missing guile
Date: Wed, 06 Jan 2021 12:14:32 +0100
Hi,

Efraim Flashner <efraim <at> flashner.co.il> skribis:

>> while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory

[...]

> I just came across this today myself. try 'sudo herd restart
> guix-daemon'. It's what made it suddenly start working for me (I
> reconfigured to add qemu-binfmt service without restarting).

For the record, this is necessary because when you reconfigure,
qemu-binfmt might set store file names that differ from those passed as
‘--chroot-directory’ options to guix-daemon.

To make sure both are in sync:

  sudo herd restart qemu-binfmt
  sudo herd restart guix-daemon

Stefan: I recommend against ‘--disable-chroot’ as anything could leak
into build processes.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Wed, 06 Jan 2021 11:36:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of
 a missing guile
Date: Wed, 6 Jan 2021 12:35:38 +0100
Hi Ludo’!

> Stefan: I recommend against ‘--disable-chroot’ as anything could leak
> into build processes.

Thanks for your reply. I understand that ‘--disable-chroot’ is not a good idea. In the end my try building guix over night fails with test errors. As I wrote in the bug ticket, I even did a reboot after the reconfigure. But just restarting qemu-binfmt and guix-daemon is no solution in my case:

stefan <at> guix ~$ sudo herd restart qemu-binfmt
Service qemu-binfmt has been stopped.
Service qemu-binfmt has been started.
stefan <at> guix ~$ sudo herd restart guix-daemon
Service guix-daemon has been stopped.
Service guix-daemon has been started.
stefan <at> guix ~$ guix build --system=aarch64-linux guix
Folgende Ableitung wird erstellt:
   /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv
/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv wird erstellt …
while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory
builder for `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed with exit code 1
Erstellung von /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv fehlgeschlagen
Das Erstellungsprotokoll kann unter „/var/log/guix/drvs/4w/dh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv.bz2“ eingesehen werden.
guix build: error: build of `/gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv' failed

I’ll now retry with

sudo -b env -i PATH=/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin /gnu/store/ca91bk34z3hmzv5d8j5xi0z8f4riyx7m-guix-1.2.0-8.7624ebb/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --log-compression bzip2 --discover=no --substitute-urls https://ci.guix.gnu.org --disable-chroot

What else could I try otherwise?


Bye

Stefan



Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Wed, 06 Jan 2021 13:30:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Stefan <stefan-guix <at> vodafonemail.de>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because
 of a missing guile
Date: Wed, 06 Jan 2021 14:29:27 +0100
Hi Stefan,

Stefan <stefan-guix <at> vodafonemail.de> skribis:

> Hi Ludo’!
>
>> Stefan: I recommend against ‘--disable-chroot’ as anything could leak
>> into build processes.
>
> Thanks for your reply. I understand that ‘--disable-chroot’ is not a good idea. In the end my try building guix over night fails with test errors. As I wrote in the bug ticket, I even did a reboot after the reconfigure. But just restarting qemu-binfmt and guix-daemon is no solution in my case:
>
> stefan <at> guix ~$ sudo herd restart qemu-binfmt
> Service qemu-binfmt has been stopped.
> Service qemu-binfmt has been started.
> stefan <at> guix ~$ sudo herd restart guix-daemon
> Service guix-daemon has been stopped.
> Service guix-daemon has been started.
> stefan <at> guix ~$ guix build --system=aarch64-linux guix
> Folgende Ableitung wird erstellt:
>    /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv
> /gnu/store/4wdh7yy6g7imycaz9c21vcmk9l97qnpv-guix-1.2.0-8.7624ebb.drv wird erstellt …
> while setting up the build environment: executing `/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile': No such file or directory

I have:

--8<---------------cut here---------------start------------->8---
$ file /gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile
/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin/guile: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/cb88z63hyg1icd2kkahiink2p291mhr2-glibc-2.31/lib/ld-linux-aarch64.so.1, for GNU/Linux 2.6.32, not stripped
--8<---------------cut here---------------end--------------->8---

So ENOENT above means that the ELF interpreter of this file is not in
the build chroot, and that in turns almost certainly hints at an
inconsistency between the ‘--chroot-directory’ flags passed to
guix-daemon and the file name that shows up in
/proc/sys/fs/binfmt_misc/qemu-aarch64 (set up by ‘qemu-binfmt’).

I don’t see why restarting the two services has no effect.  Could you
compare the output of:

  guix gc -R $(cat /proc/sys/fs/binfmt_misc/qemu-aarch64 |grep interpreter|cut -d ' ' -f 2-)

with the ‘--chroot-directory’ flags shown by:

  cat /proc/$(LC_ALL=C sudo -E herd status guix-daemon | grep Running| sed -'es/.* \([0-9]\+\).*/\1/g')/cmdline | xargs -0 echo

?

> I’ll now retry with
>
> sudo -b env -i PATH=/gnu/store/x3gq648qnfnla7nppyfjvj62s2i8y7rl-guile-3.0.2/bin /gnu/store/ca91bk34z3hmzv5d8j5xi0z8f4riyx7m-guix-1.2.0-8.7624ebb/bin/guix-daemon --build-users-group guixbuild --max-silent-time 0 --timeout 0 --log-compression bzip2 --discover=no --substitute-urls https://ci.guix.gnu.org --disable-chroot

Setting PATH like this won’t make any difference.

HTH!

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Wed, 06 Jan 2021 18:02:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of
 a missing guile
Date: Wed, 6 Jan 2021 19:00:58 +0100
Hi Ludo’!

Thanks for caring!

> I don’t see why restarting the two services has no effect.  Could you
> compare the output of:
> 
>  guix gc -R $(cat /proc/sys/fs/binfmt_misc/qemu-aarch64 |grep interpreter|cut -d ' ' -f 2-)

> 
> with the ‘--chroot-directory’ flags shown by:
> 
>  cat /proc/$(LC_ALL=C sudo -E herd status guix-daemon | grep Running| sed -'es/.* \([0-9]\+\).*/\1/g')/cmdline | xargs -0 echo

There were no ‘--chroot-directory’ flags in my case. So I wondered what is wrong and re-read the manual. I figured that I managed to copy-paste the ‘wrong’ example code from the “Transparent Emulation with QEMU” section into my operating-system definition, the first one. I was missing (guix-support? #t).

I know that I read the ‘guix-support’ documentation before changing my operating-system. I think in the end   I copied the first example, I freshly navigated to the “Transparent Emulation with QEMU” chapter after looking-up something else, maybe also because it is mentioning the aarch64, which I needed.

So now it is working. Thanks again for you support. :-)

Would you accept a patch for the manual to contain (guix-support? #t) in the first example as well?

Actually I would even prefer a default change of ‘guix-support’ to #t.

Would it also possible to print some proper error message, if guix build is used with an unsupported ‘--system’ argument.


Bye

Stefan



Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Thu, 07 Jan 2021 08:25:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Stefan <stefan-guix <at> vodafonemail.de>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654 <at> debbugs.gnu.org
Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because
 of a missing guile
Date: Thu, 07 Jan 2021 09:24:06 +0100
Hi,

Stefan <stefan-guix <at> vodafonemail.de> skribis:

> There were no ‘--chroot-directory’ flags in my case. So I wondered what is wrong and re-read the manual. I figured that I managed to copy-paste the ‘wrong’ example code from the “Transparent Emulation with QEMU” section into my operating-system definition, the first one. I was missing (guix-support? #t).

Ah ha!

> Would you accept a patch for the manual to contain (guix-support? #t) in the first example as well?
>
> Actually I would even prefer a default change of ‘guix-support’ to #t.

Yeah, we should probably change the default to #t if nobody disagrees.

The downsides I can see are: (1) changing defaults in general means
breaking user assumptions, and (2) setting ‘guix-support?’ means that
the build environment is no longer completely hermetic (it contains
extra store items), though it’s arguably still very much under control.

Overall, it’s probably OK.

Could you send a patch?

> Would it also possible to print some proper error message, if guix build is used with an unsupported ‘--system’ argum
ent.

I don’t think so: all we get is ENOENT from execve(2).  There’s no way
to distinguish this kind of ENOENT from the other kind of ENOENT.

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#45654; Package guix. (Thu, 07 Jan 2021 20:45:01 GMT) Full text and rfc822 format available.

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

From: Stefan <stefan-guix <at> vodafonemail.de>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654 <at> debbugs.gnu.org
Subject: [PATCH 1/1] gnu: qemu-binfmt-service-type: Change 'guix-support?'
 default to #t. 
Date: Thu, 7 Jan 2021 21:44:22 +0100
* gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]:
Change the default from #f to #t.
* doc/guix.texi (Transparent Emulation with QEMU): Change the default of
‘guix-support?’ from #f to #t.  Describe the implication of setting it to #f.
---
  doc/guix.texi                   | 8 +++++++-
  gnu/services/virtualization.scm | 2 +-
  2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 884224fce6..3a22709821 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -27221,7 +27221,7 @@ This is the configuration for the @code{qemu-binfmt} service.
  The list of emulated QEMU platforms.  Each item must be a @dfn{platform
  object} as returned by @code{lookup-qemu-platforms} (see below).
  
-@item @code{guix-support?} (default: @code{#f})
+@item @code{guix-support?} (default: @code{#t})
  When it is true, QEMU and all its dependencies are added to the build
  environment of @command{guix-daemon} (@pxref{Invoking guix-daemon,
  @option{--chroot-directory} option}).  This allows the @code{binfmt_misc}
@@ -27250,6 +27250,12 @@ build}, transparently using QEMU to emulate the ARMv7 CPU.  Pretty handy
  if you'd like to test a package build for an architecture you don't have
  access to!
  
+When @code{guix-support?} is set to @code{#f}, then of course programs for
+other architectures can still be executed transparently, but invoking commands
+like @command{guix build -s armhf-linux inksake} will fail with an unobvious
+error that @command{guile} cannot be executed.  However, the build environment
+of @command{guix-daemon} then needs less store items.
+
  @item @code{qemu} (default: @code{qemu})
  The QEMU package to use.
  @end table
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index f435630faf..2f5a258bfe 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -717,7 +717,7 @@ potential infinite waits blocking libvirt."))
    (platforms   qemu-binfmt-configuration-platforms
                 (default '()))                     ;safest default
    (guix-support? qemu-binfmt-configuration-guix-support?
-                 (default #f)))
+                 (default #t)))
  
  (define (qemu-platform->binfmt qemu platform)
    "Return a gexp that evaluates to a binfmt string for PLATFORM, using the
-- 
2.29.2





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 16 Jan 2021 21:40:02 GMT) Full text and rfc822 format available.

Notification sent to Stefan <stefan-guix <at> vodafonemail.de>:
bug acknowledged by developer. (Sat, 16 Jan 2021 21:40:02 GMT) Full text and rfc822 format available.

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

From: Ludovic Courtès <ludo <at> gnu.org>
To: Stefan <stefan-guix <at> vodafonemail.de>
Cc: Leo Famulari <leo <at> famulari.name>, Efraim Flashner <efraim <at> flashner.co.il>,
 45654-done <at> debbugs.gnu.org
Subject: Re: [PATCH 1/1] gnu: qemu-binfmt-service-type: Change
 'guix-support?' default to #t.
Date: Sat, 16 Jan 2021 22:39:16 +0100
Hi Stefan,

Stefan <stefan-guix <at> vodafonemail.de> skribis:

> * gnu/services/virtualization.scm (qemu-binfmt-service-type)[guix-support?]:
> Change the default from #f to #t.
> * doc/guix.texi (Transparent Emulation with QEMU): Change the default of
> ‘guix-support?’ from #f to #t.  Describe the implication of setting it to #f.

I’ve shrinked and tweaked the doc and applied it.

Thanks!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 14 Feb 2021 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 65 days ago.

Previous Next


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