Subject: bug#50212: Several tests fail, Bash fails often. Was: Tests fail while building Guix

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 29 Aug 2021 17:28:43 -0400

Hello Simon,

Simon Streit <[email-masked]> writes:

> Simon Streit <[email-masked]> writes:
>> So why would my system brake the bootstrap binary?  Has it got to do
>> with a particular package I have in my profile(s)?  I generally build
>> Guix with ‘guix environment --pure guix.’  I have a second Guix build
>> machine running.  The packages used there are quite similar, so these
>> two machines have very similar checkouts and config in general.  Hence,
>> when I build Guix there, the same error occurs.
>
> I figured out why this is happening.  I disabled
>
> (service qemu-binfmt-service-type
>          (qemu-binfmt-configuration
>           (platforms (lookup-qemu-platforms "arm" "aarch64" "i386"))))
>
> and now all tests pass.
>
> Why would this be a problem?  

I'm guessing the i386 does something bogus?  Your x86_64 is already able
to run i386 code natively, AFAIK.

The binfmt service type registers binary formats of non-native
architectures with interpreters to run them [0]; this way, when an ARM
binary is encountered on a x86_64 system, the kernel Linux knows to
launch it via QEMU, for example.  Since commit
77c2f4e2068ebec3f384c826c5a99785125ff72c, this is in effect for any
container (it used to be possible to enable it with (guix-support? #t)
on only for the container spawned by guix-daemon.

For the record, I use:

--8<---------------cut here---------------start------------->8---
      (service qemu-binfmt-service-type
               (qemu-binfmt-configuration
                (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc64le"))))
--8<---------------cut here---------------end--------------->8---

On my main machine without any issue.

HTH,

[0]  https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html