bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45654: Building guile on x86_64 for aarch64 fails because of a missi


From: Ludovic Courtès
Subject: bug#45654: Building guile on x86_64 for aarch64 fails because of a missing guile
Date: Wed, 06 Jan 2021 14:29:27 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hi Stefan,

Stefan <stefan-guix@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@guix ~$ sudo herd restart qemu-binfmt
> Service qemu-binfmt has been stopped.
> Service qemu-binfmt has been started.
> stefan@guix ~$ sudo herd restart guix-daemon
> Service guix-daemon has been stopped.
> Service guix-daemon has been started.
> stefan@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’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]