Subject: Re: bug#45654: Building guile on x86_64 for aarch64 fails because of a missing guile

From: Ludovic Courtès <[email-masked]>
Date: Thu, 07 Jan 2021 09:24:06 +0100

Hi,

Stefan <[email-masked]> 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’.