Subject: Re: bug#62192: Test failures in binfmt emulated builds

From: Maxim Cournoyer <[email-masked]>
Date: Sun, 02 Jun 2024 20:26:21 -0400

Hi Greg,

Greg Hogan <[email-masked]> writes:

> The following emulated build using binfmt should work according to the
> documentation example at
> https://guix.gnu.org/manual/en/html_node/Native-Builds.html
>
> $ uname -m
> x86_64
>
>
> The package was previously built on an aarch64 offload machine:
>
> $ file $(guix build --system=aarch64-linux hello)/bin/hello
> /gnu/store/s2qnbdlrwlx47h5p6rxlylny1259srmj-hello-2.12.1/bin/hello:
> ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), dynamically
> linked, interpreter
> /gnu/store/gfjp8gfv4xxschbaxvldpigadfwqazhw-glibc-2.33/lib/ld-linux-aarch64.so.1,
> for GNU/Linux 2.6.32, stripped
>
>
> Successfully executed using binfmt emulation:
>
> $ $(guix build --system=aarch64-linux hello)/bin/hello
> Hello, world!
>
>
> A locally emulated check build fails during the test phase:
>
> $ guix describe
> Generation 35 Mar 13 2023 13:37:24 (current)
>   guix 1ed227d
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 1ed227d7952af48efe50a2f6c9537e17c356daa1
>
> $ guix build --check --system=aarch64-linux --verbosity=1 hello
> The following derivation will be built:
>   /gnu/store/sg9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv
>
> building /gnu/store/sg9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv...
> | 'check' phasebuilder for
> `/gnu/store/sg9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv' failed
> with exit code 1
> build of /gnu/store/sg9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv failed
> View build log at
> '/var/log/guix/drvs/sg/9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv.gz'.
> guix build: error: build of
> `/gnu/store/sg9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv' failed
>
>
> $ zcat /var/log/guix/drvs/sg/9mpl4nf7j2w8bmv5q4725gpirhi225-hello-2.12.1.drv.gz
> [...]
> Test suite failed, dumping logs.
>
> --- ./test-suite.log --------------------------------------------------------
>
> ========================================
>    GNU Hello 2.12.1: ./test-suite.log
> ========================================
>
> # TOTAL: 7
> # PASS:  4
> # SKIP:  1
> # XFAIL: 0
> # FAIL:  2
> # XPASS: 0
> # ERROR: 0
>
> .. contents:: :depth: 2
>
> FAIL: tests/atexit-1
> ====================
>
> FAIL tests/atexit-1 (exit status: 1)
>
> SKIP: tests/greeting-2
> ======================
>
> ./tests/greeting-2: Skipping test: not a full moon night
> SKIP tests/greeting-2 (exit status: 77)
>
> FAIL: tests/operand-1
> =====================

This kind of problem is really a bug/limitation in QEMU.  I'd suggest
forwarding this report to them if you'd like to have it resolved.

Closing.

-- 
Thanks,
Maxim