System cross-compilation to i585-pc-gnu vs. grafts

  • Done
  • quality assurance status badge
Details
One participant
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 9 Jun 2020 14:01
(address . bug-guix@gnu.org)
87o8psla7r.fsf@inria.fr
Hello!

Attempting to cross-build the system to i586-pc-gnu with grafts enabled
leads to something fishy:

Toggle snippet (21 lines)
$ git log |head -1
commit a50628bbe0fa4ba3835e311098e4fdf7a1d8a29e
$ ./pre-inst-env guix system build --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl -n
The following derivations would be built:
/gnu/store/3dphrw8kka8x3pj1xshc7wxv18spcp9s-tzdata-2019c.drv
/gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv
/gnu/store/jwwsf3kky7qwbi0kswbqa76dk069hj4a-linux-libre-headers-cross-x86_64-linux-5.4.20.drv
/gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv
/gnu/store/kcrrjh29qawb2yhsq41hvggbymnmy67h-glibc-cross-x86_64-linux-2.31.drv
/gnu/store/lj7acjnbza54j1kv0n8imdclh70087s3-gcc-cross-x86_64-linux-7.5.0.drv
47.9 MB would be downloaded:
/gnu/store/1gyikmvlmdvblg5q6j2aj1dp5dln6d0v-guix-1.1.0-9.ab9e300
/gnu/store/70qjgxkdvjsqb3q14yyam9wk8sd48azc-openldap-2.4.49
/gnu/store/w1rm6r3dmhsvqpb5biwy0hck7swij9z1-curl-7.69.1
/gnu/store/bbm5x79iqrwy0mcx6yr4hq3x5n641jya-git-minimal-2.26.2
$ guix graph --path -t derivation /gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv /gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv
/gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv
/gnu/store/jwwsf3kky7qwbi0kswbqa76dk069hj4a-linux-libre-headers-cross-x86_64-linux-5.4.20.drv
/gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv

The “x86_64-linux” cross-toolchain look very bogus. It disappears when
adding ‘--no-grafts’.

Ludo’.
L
L
Ludovic Courtès wrote on 20 Jun 2020 23:37
(address . 41775-done@debbugs.gnu.org)
87r1u9a06f.fsf@gnu.org
Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (26 lines)
> Attempting to cross-build the system to i586-pc-gnu with grafts enabled
> leads to something fishy:
>
> $ git log |head -1
> commit a50628bbe0fa4ba3835e311098e4fdf7a1d8a29e
> $ ./pre-inst-env guix system build --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl -n
> The following derivations would be built:
> /gnu/store/3dphrw8kka8x3pj1xshc7wxv18spcp9s-tzdata-2019c.drv
> /gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv
> /gnu/store/jwwsf3kky7qwbi0kswbqa76dk069hj4a-linux-libre-headers-cross-x86_64-linux-5.4.20.drv
> /gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv
> /gnu/store/kcrrjh29qawb2yhsq41hvggbymnmy67h-glibc-cross-x86_64-linux-2.31.drv
> /gnu/store/lj7acjnbza54j1kv0n8imdclh70087s3-gcc-cross-x86_64-linux-7.5.0.drv
> 47.9 MB would be downloaded:
> /gnu/store/1gyikmvlmdvblg5q6j2aj1dp5dln6d0v-guix-1.1.0-9.ab9e300
> /gnu/store/70qjgxkdvjsqb3q14yyam9wk8sd48azc-openldap-2.4.49
> /gnu/store/w1rm6r3dmhsvqpb5biwy0hck7swij9z1-curl-7.69.1
> /gnu/store/bbm5x79iqrwy0mcx6yr4hq3x5n641jya-git-minimal-2.26.2
> $ guix graph --path -t derivation /gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv /gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv
> /gnu/store/ry0pzyhawjkjmz343dda3in2fbbaax5b-net-tools-1.60-0.479bb4a.drv
> /gnu/store/jwwsf3kky7qwbi0kswbqa76dk069hj4a-linux-libre-headers-cross-x86_64-linux-5.4.20.drv
> /gnu/store/sa56z96rixkghpf3z1rv0sqc41rfix4d-gcc-cross-sans-libc-x86_64-linux-7.5.0.drv
>
> The “x86_64-linux” cross-toolchain look very bogus. It disappears when
> adding ‘--no-grafts’.

Fixed by these two commits:

9ee8b41f2b gnu: gnutls: Leave #:disallowed-references empty for GNU/Hurd.
50e7e6a065 build-system/gnu: Cross builds properly handle #:allowed-references & co.

Ludo’.
Closed
?