Subject: Re: bug#44952: Guix cross-compilation is broken.

From: Ludovic Courtès <[email-masked]>
Date: Tue, 01 Dec 2020 00:12:24 +0100

Hi!

Mathieu Othacehe <[email-masked]> skribis:

> When I pushed this patchset[1], I didn't anticipate that Avahi depends
> on glib which doesn't cross-compile. To fix the situation, I pushed
> d9f05c70a6af1087de1717ff20036efa1afef5fb and
> 35a32fefb4695442265809805145b7a262ae4988.
>
> While, it now allows to build and cross-build Guix, there's still an
> issue when evaluating the "guix-master" specification with the CI.
> It looks like "%current-target-system" doesn't have the expected value
> in the propagated-inputs.

One way to reproduce it is:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build -e '((@ (gnu system image) system-image) (@ (gnu system images hurd) hurd-barebones-qcow2-image))' -n --no-grafts
guix build: error: gnu/packages/glib.scm:181:2: [email-masked]: build system `meson' does not support cross builds
--8<---------------cut here---------------end--------------->8---

or:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(gnu system images hurd)
scheme@(guile-user)> ,use(gnu image)
scheme@(guile-user)> ,use(guix)
scheme@(guile-user)> ,use(guix grafts)
scheme@(guile-user)> (%graft? #f)
$2 = #t
scheme@(guile-user)> ,use(gnu system image)
scheme@(guile-user)> (with-store s  (run-with-store s (lower-object (system-image hurd-barebones-qcow2-image))))
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
ERROR:
  1. &package-cross-build-system-error: #<package [email-masked] gnu/packages/glib.scm:181 7f986f1ea780>

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
--8<---------------cut here---------------end--------------->8---

The problem here is that, when populating in ‘packages->manifest’,
called from ‘packages->profile-entry’ in (gnu services),
(%current-target-system) is #false.

This is fixed by commit 07a33b1d21e240781072352f93206cfdc765f907.

Sorry that this spoiled the pleasure of merging service discovery
support!

Thanks,
Ludo’.