Subject: Guix cross-compilation is broken.
From: Mathieu Othacehe <[email-masked]>
To: [email-masked]
Date: Sun, 29 Nov 2020 20:48:50 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

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.

There's a backtrace of the situation as attachment. I'd like to find a
quick fix instead of reverting everything. Maybe removing "guile-avahi"
from the propagated-inputs of Guix could work. I'm not sure why it's
needed anyway because this library is already added to the wrapped guix
binary.

Thanks,

Mathieu
scheme@(guile-user)> (hydra-jobs (open-connection) '())
evaluating for 'x86_64-linux' (heap size: 62.0 MiB)...
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 7f615f802b40>

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In gnu/ci.scm:
    531:4144 (hydra-jobs _ _)
In srfi/srfi-1.scm:
   673:15143 (append-map _ _ . _)
   586:17142 (map1 ("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "i586-gnu"))
In gnu/ci.scm:
   274:14141 (_ "x86_64-linux")
In srfi/srfi-1.scm:
   586:17140 (map1 (#<<image> name: hurd-barebones.qcow2 format: compressed-qcow2 target: "i586-pc-gnu" size: guess operating-system: #<<operating-system> kernel: #<<parameterized> bindings: ((#<<…> …))
In gnu/ci.scm:
    248:4139 (_ _)
In guix/store.scm:
  2049:24138 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
   1883:8137 (_ _)
In guix/gexp.scm:
   258:18136 (_ _)
In guix/store.scm:
   1883:8135 (_ _)
In guix/gexp.scm:
   258:18134 (_ _)
   1123:2133 (_ _)
    982:2132 (_ _)
    843:4131 (_ _)
In guix/store.scm:
  1931:12130 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2129 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:17128 (map1 ((#<<computed-file> name: "genimage.cfg" gexp: #<gexp  gnu/system/image.scm:383:12 7f613c89c960> guile: #f options: (#:local-build? #t)> "out")))
In guix/store.scm:
   1301:8127 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24126 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
In guix/gexp.scm:
   846:13125 (_ _)
In guix/store.scm:
   1883:8124 (_ _)
In guix/gexp.scm:
   258:18123 (_ _)
   1123:2122 (_ _)
    982:2121 (_ _)
    843:4120 (_ _)
In guix/store.scm:
  1931:12119 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2118 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:17117 (map1 ((#<<computed-file> name: "partition.img" gexp: #<gexp (begin (use-modules (gnu build vm) (gnu build image) (gnu build bootloader) (gnu build hurd-boot) (gnu build linux-boot) …> …)))
In guix/store.scm:
   1301:8116 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24115 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
In guix/gexp.scm:
   846:13114 (_ _)
In guix/store.scm:
   1883:8113 (_ _)
In guix/gexp.scm:
   258:18112 (_ _)
   1123:2111 (_ _)
    982:2110 (_ _)
    843:4109 (_ _)
In guix/store.scm:
  1931:12108 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2107 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:17106 (map1 ((#<<computed-file> name: "grub.cfg" gexp: #<gexp  gnu/bootloader/grub.scm:470:2 7f613c89ccc0> guile: #f options: (#:local-build? #t #:local-build? #t #:substitutable? #f)> "o…") …))
In guix/store.scm:
   1301:8105 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24104 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
In guix/gexp.scm:
   846:13103 (_ _)
In guix/store.scm:
   1883:8102 (_ _)
In guix/gexp.scm:
   258:18101 (_ _)
   1123:2100 (_ _)
    982:2 99 (_ _)
    843:4 98 (_ _)
In guix/store.scm:
  1931:12 97 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2 96 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:29 95 (map1 _)
   586:29 94 (map1 _)
   586:29 93 (map1 _)
   586:17 92 (map1 ((#<<operating-system> kernel: #<<parameterized> bindings: ((#<<parameter> 7f6168fab7a0 proc: #<procedure 7f6168fb0ee0 at ice-9/boot-9.scm:1299:5 () | (x)>> #<procedure 7f615…> …) …))
In guix/store.scm:
   1301:8 91 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24 90 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
In guix/gexp.scm:
   846:13 89 (_ _)
In guix/store.scm:
   1883:8 88 (_ _)
In guix/gexp.scm:
   258:18 87 (_ _)
In guix/store.scm:
  1918:38 86 (_ #<store-connection 256.99 7f615ebb6d20>)
  2049:24 85 (run-with-store #<store-connection 256.99 7f615ebb6d20> _ #:guile-for-build _ #:system _ #:target _)
   1883:8 84 (_ _)
In guix/gexp.scm:
   258:18 83 (_ _)
   1123:2 82 (_ _)
    982:2 81 (_ _)
    843:4 80 (_ _)
In guix/store.scm:
  1931:12 79 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2 78 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:29 77 (map1 ((#<<parameterized> bindings: ((#<<parameter> 7f6168fab7a0 proc: #<procedure 7f6168fb0ee0 at ice-9/boot-9.scm:1299:5 () | (x)>> #<procedure 7f615a1c2d38 at gnu/system/hurd.sc…> …) …))
   586:29 76 (map1 ((#<package [email-masked] gnu/packages/hurd.scm:356 7f615d739960> "out") (#<<scheme-file> name: "parameters" gexp: #<gexp  gnu/system.scm:1367:18 7f6133d4eea0> splice?: …> …) …))
   586:29 75 (map1 ((#<<scheme-file> name: "parameters" gexp: #<gexp  gnu/system.scm:1367:18 7f6133d4eea0> splice?: #f load-path?: #f> "out") (#<<computed-file> name: "locale-multiple-versions"…> …) …))
   586:29 74 (map1 ((#<<computed-file> name: "locale-multiple-versions" gexp: #<gexp  gnu/system/locale.scm:142:24 7f6133d4ef60> guile: #f options: (#:local-build? #t #:local-build? #t #:substi…> …) …))
   586:17 73 (map1 ((#<<profile> name: "profile" content: #<<manifest> entries: (#<<manifest-entry> name: "openssh-sans-x" version: "8.4p1" output: "out" item: #<package [email-masked] gn…> …) …))
In guix/store.scm:
   1301:8 72 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24 71 (run-with-store #<store-connection 256.99 7f615ebb6d20> #<procedure 7f6149e6e9a0 at guix/gexp.scm:846:13 (state)> #:guile-for-build _ #:system _ #:target _)
In guix/gexp.scm:
   846:13 70 (_ _)
In guix/store.scm:
   1883:8 69 (_ _)
In guix/gexp.scm:
   258:18 68 (_ _)
In guix/profiles.scm:
   1598:2 67 (_ _)
    348:2 66 (_ _)
In guix/store.scm:
  1931:12 65 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2 64 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:29 63 (map1 ((#<<manifest-entry> name: "openssh-sans-x" version: "8.4p1" output: "out" item: #<package [email-masked] gnu/packages/ssh.scm:295 7f61617c3140> dependencies: () search…> …) …))
   586:29 62 (map1 ((#<<manifest-entry> name: "hurd" version: "0.9-1.91a5167" output: "out" item: #<package [email-masked] gnu/packages/hurd.scm:356 7f615d739960> dependencies: () search-pa…> …) …))
   586:29 61 (map1 ((#<<manifest-entry> name: "bash" version: "5.0.16" output: "out" item: #<package [email-masked] gnu/packages/bash.scm:129 7f615fbba820> dependencies: () search-paths: (#<<searc…> …) …))
   586:29 60 (map1 ((#<<manifest-entry> name: "coreutils" version: "8.32" output: "out" item: #<package [email-masked] gnu/packages/base.scm:307 7f615eecdaa0> dependencies: () search-paths: () …> …) …))
   586:29 59 (map1 ((#<<manifest-entry> name: "file" version: "5.38" output: "out" item: #<package [email-masked] gnu/packages/file.scm:31 7f6163b7a0a0> dependencies: () search-paths: () parent: #<p…> …) …))
   586:29 58 (map1 ((#<<manifest-entry> name: "findutils" version: "4.7.0" output: "out" item: #<package [email-masked] gnu/packages/base.scm:270 7f615eecdb40> dependencies: () search-paths: (…> …) …))
   586:29 57 (map1 ((#<<manifest-entry> name: "grep" version: "3.4" output: "out" item: #<package [email-masked] gnu/packages/base.scm:94 7f615eecde60> dependencies: () search-paths: () parent: #<pro…> …) …))
   586:29 56 (map1 ((#<<manifest-entry> name: "sed" version: "4.8" output: "out" item: #<package [email-masked] gnu/packages/base.scm:135 7f615eecddc0> dependencies: () search-paths: () parent: #<prom…> …) …))
   586:29 55 (map1 ((#<<manifest-entry> name: "diffutils" version: "3.7" output: "out" item: #<package [email-masked] gnu/packages/base.scm:247 7f615eecdbe0> dependencies: () search-paths: () pa…> …) …))
   586:29 54 (map1 ((#<<manifest-entry> name: "patch" version: "2.7.6" output: "out" item: #<package [email-masked] gnu/packages/base.scm:217 7f615eecdc80> dependencies: () search-paths: () parent…> …) …))
   586:29 53 (map1 ((#<<manifest-entry> name: "gawk" version: "5.0.1" output: "out" item: #<package [email-masked] gnu/packages/gawk.scm:31 7f6166113dc0> dependencies: () search-paths: () parent: #…> …) …))
   586:29 52 (map1 ((#<<manifest-entry> name: "tar" version: "1.32" output: "out" item: #<package [email-masked] gnu/packages/base.scm:159 7f615eecdd20> dependencies: () search-paths: () parent: #<pr…> …) …))
   586:29 51 (map1 ((#<<manifest-entry> name: "gzip" version: "1.10" output: "out" item: #<package [email-masked] gnu/packages/compression.scm:224 7f615fae8a00> dependencies: () search-paths: () par…> …) …))
   586:29 50 (map1 ((#<<manifest-entry> name: "bzip2" version: "1.0.8" output: "out" item: #<package [email-masked] gnu/packages/compression.scm:272 7f615fae8960> dependencies: () search-paths: ()…> …) …))
   586:29 49 (map1 ((#<<manifest-entry> name: "xz" version: "5.2.4" output: "out" item: #<package [email-masked] gnu/packages/compression.scm:474 7f615fae8780> dependencies: () search-paths: () paren…> …) …))
   586:29 48 (map1 ((#<<manifest-entry> name: "lzip" version: "1.21" output: "out" item: #<package [email-masked] gnu/packages/compression.scm:601 7f615fae8500> dependencies: () search-paths: () par…> …) …))
   586:29 47 (map1 ((#<<manifest-entry> name: "guile" version: "3.0.4" output: "out" item: #<package [email-masked] gnu/packages/guile.scm:313 7f615f24b8c0> dependencies: (#<<manifest-entry> name:…> …) …))
   586:29 46 (map1 ((#<<manifest-entry> name: "libunistring" version: "0.9.10" output: "out" item: #<package [email-masked] gnu/packages/libunistring.scm:35 7f6165fff140> dependencies: () …> …) …))
   586:29 45 (map1 ((#<<manifest-entry> name: "libltdl" version: "2.4.6" output: "out" item: #<package [email-masked] gnu/packages/autotools.scm:466 7f615ebecdc0> dependencies: () search-paths: …> …) …))
   586:29 44 (map1 ((#<<manifest-entry> name: "libgc" version: "8.0.4" output: "out" item: #<package [email-masked] gnu/packages/bdw-gc.scm:33 7f6169dd6d20> dependencies: () search-paths: () paren…> …) …))
   586:29 43 (map1 ((#<<manifest-entry> name: "gmp" version: "6.2.0" output: "out" item: #<package [email-masked] gnu/packages/multiprecision.scm:39 7f6169dd6780> dependencies: () search-paths: () p…> …) …))
   586:29 42 (map1 ((#<<manifest-entry> name: "guile-colorized" version: "0.1" output: "out" item: #<package [email-masked] gnu/packages/guile-xyz.scm:795 7f615f1a1d20> dependencies: () se…> …) …))
   586:29 41 (map1 ((#<<manifest-entry> name: "guile-readline" version: "3.0.2" output: "out" item: #<package [email-masked] gnu/packages/guile.scm:349 7f615f24b5a0> dependencies: () sear…> …) …))
   586:29 40 (map1 ((#<<manifest-entry> name: "net-base" version: "5.3" output: "out" item: #<package [email-masked] gnu/packages/admin.scm:754 7f615fa853c0> dependencies: () search-paths: () par…> …) …))
   586:29 39 (map1 ((#<<manifest-entry> name: "inetutils" version: "1.9.4" output: "out" item: #<package [email-masked] gnu/packages/admin.scm:598 7f615fa855a0> dependencies: () search-paths: …> …) …))
   586:29 38 (map1 ((#<<manifest-entry> name: "less" version: "563" output: "out" item: #<package less@563 gnu/packages/less.scm:34 7f616192db40> dependencies: () search-paths: () parent: #<pro…> …) …))
   586:29 37 (map1 ((#<<manifest-entry> name: "shadow" version: "4.8.1" output: "out" item: #<package [email-masked] gnu/packages/admin.scm:647 7f615fa85500> dependencies: () search-paths: () par…> …) …))
   586:29 36 (map1 ((#<<manifest-entry> name: "shepherd" version: "0.8.1" output: "out" item: #<package [email-masked] gnu/packages/admin.scm:256 7f615fa85c80> dependencies: () search-paths: ()…> …) …))
   586:29 35 (map1 ((#<<manifest-entry> name: "sudo" version: "1.9.3p1" output: "out" item: #<package [email-masked] gnu/packages/admin.scm:1398 7f615fa8cbe0> dependencies: () search-paths: () pa…> …) …))
   586:29 34 (map1 ((#<<manifest-entry> name: "which" version: "2.21" output: "out" item: #<package [email-masked] gnu/packages/base.scm:1173 7f615ef37a00> dependencies: () search-paths: () parent:…> …) …))
   586:17 33 (map1 ((#<<manifest-entry> name: "guix" version: "1.2.0-3.35a32fe" output: "out" item: #<package [email-masked] gnu/packages/package-management.scm:136 7f616192d460> dependen…> …) …))
In guix/store.scm:
   1301:8 32 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24 31 (run-with-store #<store-connection 256.99 7f615ebb6d20> #<procedure 7f615d6d9fc0 at guix/profiles.scm:341:7 (state)> #:guile-for-build _ #:system _ #:target _)
In guix/profiles.scm:
    341:7 30 (_ _)
    316:8 29 (_ _)
In guix/store.scm:
  1931:12 28 (_ #<store-connection 256.99 7f615ebb6d20>)
   1342:2 27 (map/accumulate-builds #<store-connection 256.99 7f615ebb6d20> _ _)
In srfi/srfi-1.scm:
   586:29 26 (map1 (#<<manifest-entry> name: "gnutls" version: "3.6.12" output: "out" item: #<package [email-masked] gnu/packages/tls.scm:165 7f615ebcab40> dependencies: (#<<manifest-entry> name: "…> …))
   586:17 25 (map1 (#<<manifest-entry> name: "guile-avahi" version: "0.4.0-1.6d43caf" output: "out" item: #<package [email-masked] gnu/packages/guile-xyz.scm:4055 7f615d6fcdc0> depend…> …))
In guix/store.scm:
   1301:8 24 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
  2049:24 23 (run-with-store #<store-connection 256.99 7f615ebb6d20> #<procedure 7f615d6e2580 at guix/profiles.scm:316:8 (state)> #:guile-for-build _ #:system _ #:target _)
In guix/profiles.scm:
    316:8 22 (_ _)
In guix/store.scm:
   1883:8 21 (_ _)
In guix/gexp.scm:
   258:18 20 (_ _)
In guix/store.scm:
  1918:38 19 (_ #<store-connection 256.99 7f615ebb6d20>)
In guix/packages.scm:
  1169:16 18 (package-cross-derivation _ #<package [email-masked] gnu/packages/guile-xyz.scm:4055 7f615d6fcdc0> _ _ #:graft? _)
  1510:22 17 (thunk)
  1444:22 16 (bag->cross-derivation #<store-connection 256.99 7f615ebb6d20> #<<bag> name: "guile-avahi-0.4.0-1.6d43caf" system: "x86_64-linux" target: "i586-pc-gnu" build-inputs: (("source" #<origin…> …)
In srfi/srfi-1.scm:
   586:29 15 (map1 (("guile" #<package [email-masked] gnu/packages/guile.scm:284 7f615f24b960>) ("avahi" #<package [email-masked] gnu/packages/avahi.scm:38 7f615fb6f0a0>) ("gmp" #<package [email-masked] gnu/…>) …))
   586:17 14 (map1 (("avahi" #<package [email-masked] gnu/packages/avahi.scm:38 7f615fb6f0a0>) ("gmp" #<package [email-masked] gnu/packages/multiprecision.scm:39 7f6169dd6780>) ("bdw-gc" #<package libgc@8…>) …))
In guix/packages.scm:
  1212:16 13 (expand-input #<store-connection 256.99 7f615ebb6d20> #f ("avahi" #<package [email-masked] gnu/packages/avahi.scm:38 7f615fb6f0a0>) "x86_64-linux" _)
  1169:16 12 (package-cross-derivation _ #<package [email-masked] gnu/packages/avahi.scm:38 7f615fb6f0a0> _ _ #:graft? _)
  1510:22 11 (thunk)
  1444:22 10 (bag->cross-derivation #<store-connection 256.99 7f615ebb6d20> #<<bag> name: "avahi-0.8" system: "x86_64-linux" target: "i586-pc-gnu" build-inputs: (("source" #<origin "https://avahi.or…> …)
In srfi/srfi-1.scm:
   586:29  9 (map1 (("dbus" #<package [email-masked] gnu/packages/glib.scm:91 7f615f802c80>) ("expat" #<package [email-masked] gnu/packages/xml.scm:113 7f615f8f1e60>) ("gdbm" #<package [email-masked] gn…>) …))
   586:29  8 (map1 (("expat" #<package [email-masked] gnu/packages/xml.scm:113 7f615f8f1e60>) ("gdbm" #<package [email-masked] gnu/packages/dbm.scm:131 7f6166073d20>) ("glib" #<package [email-masked] gnu…>) …))
   586:29  7 (map1 (("gdbm" #<package [email-masked] gnu/packages/dbm.scm:131 7f6166073d20>) ("glib" #<package [email-masked] gnu/packages/glib.scm:181 7f615f802b40>) ("libcap" #<package [email-masked] g…>) …))
   586:17  6 (map1 (("glib" #<package [email-masked] gnu/packages/glib.scm:181 7f615f802b40>) ("libcap" #<package [email-masked] gnu/packages/linux.scm:2422 7f615f7a3320>) ("libdaemon" #<package libda…>) …))
In guix/packages.scm:
  1212:16  5 (expand-input #<store-connection 256.99 7f615ebb6d20> #f ("glib" #<package [email-masked] gnu/packages/glib.scm:181 7f615f802b40>) "x86_64-linux" _)
  1169:16  4 (package-cross-derivation _ #<package [email-masked] gnu/packages/glib.scm:181 7f615f802b40> _ _ #:graft? _)
  1509:22  3 (thunk)
  1169:16  2 (package->bag _ _ _ #:graft? _)
  1280:21  1 (thunk)
In ice-9/boot-9.scm:
  1669:16  0 (raise-exception _ #:continuable? _)