all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: Mathieu Othacehe <m.othacehe@gmail.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Qemu binfmt on foreign distro
Date: Sat, 23 Nov 2019 19:10:36 +0100	[thread overview]
Message-ID: <875zja1n1f.fsf@gnu.org> (raw)
In-Reply-To: <87wobt1rb8.fsf@gmail.com> (Mathieu Othacehe's message of "Thu, 21 Nov 2019 11:01:31 +0100")

Hi,

Mathieu Othacehe <m.othacehe@gmail.com> skribis:

> On a foreign distro, one can install QEMU and setup the binfmt mechanism
> (installing binfmt-support and qemu-user-static packages on
> Ubuntu). However, without the proper --chroot-directory arguments passed
> to guix-daemon, all binaries execution relying on binfmt will throw
> ENOENT from within the guix-daemon.

Yes, so what?  :-)

Commit 7bf2a70a4ffd976d50638d3b9f2ec409763157df expects ENOEXEC in this
case, and a meaningful error message is provided when that happens.

How did you get ENOENT?  Was it because you had installed qemu/binfmt
support from the host distro, and thus /usr/bin/qemu-whatever wasn’t
found?

> So I can see two solutions here:
>
> * Remove --system argument support for guix on foreign distributions
> (except when using this argument does not require binfmt support, 32
> bits build on a 64 bits machine).
>
> * Provide some kind of script that generates the correct guix-daemon
> command line, enabling binfmt support on foreign distros.
>
> Anyhow, the current behaviour where guix build --system=... fails
> misteriously because of an ENOENT error on a foreign distro is not
> acceptable in my opinion.

How does it fail exactly, and what do you have in
/proc/sys/fs/binfmt_misc?

On Guix System, I get the expected behavior:

--8<---------------cut here---------------start------------->8---
$ sudo herd stop qemu-binfmt
Service qemu-binfmt has been stopped.
$ guix build -s aarch64-linux hello --check
La jena derivo estos konstruata:
   /gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv
building /gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv...
@ unsupported-platform /gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv aarch64-linux
while setting up the build environment: a `aarch64-linux' is required to build `/gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv', but I am a `x86_64-linux'
builder for `/gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv' failed with exit code 1
build of /gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv failed
View build log at '/var/log/guix/drvs/3j/4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv.bz2'.
guix build: error: build of `/gnu/store/3j4nj1y86szk6ibaqp4yc09m2p1xmkr5-hello-2.10.drv' failed
--8<---------------cut here---------------end--------------->8---

Thanks,
Ludo’.

  reply	other threads:[~2019-11-23 18:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-21 10:01 Qemu binfmt on foreign distro Mathieu Othacehe
2019-11-23 18:10 ` Ludovic Courtès [this message]
2019-11-23 18:29   ` Mathieu Othacehe
2019-11-23 18:53     ` Mathieu Othacehe
2019-11-25  7:58       ` Mathieu Othacehe
2019-11-26 10:24         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875zja1n1f.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=m.othacehe@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.