[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#24841: Cross-building bootstrap binaries fail in current master
From: |
Ludovic Courtès |
Subject: |
bug#24841: Cross-building bootstrap binaries fail in current master |
Date: |
Mon, 31 Oct 2016 22:59:02 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi Carlos,
address@hidden (Carlos Sánchez de La Lama) skribis:
>> Regardless, cross-building ‘bootstrap-tarballs’ to one of the supported
>> target triplets works on master:
>>
>> --8<---------------cut here---------------start------------->8---
>> $ ./pre-inst-env guix build bootstrap-tarballs --target=mips64el-linux-gnu -n
>> substitute: updating list of substitutes from
>> 'https://mirror.hydra.gnu.org'... 100.0%
>> The following files would be downloaded:
>> /gnu/store/lwn9v9jhsllffpc3d4kii8bldw4hfppa-bootstrap-tarballs-0
>>
>> /gnu/store/6cm18hfwbp8c1mf6wha28f0b0axlcm8k-guile-static-stripped-tarball-2.0.11
>> /gnu/store/f790i196x1ms2ym13pvbazldzicqv4k9-glibc-stripped-tarball-2.23
>> /gnu/store/jj007dw6gc31hnn1qq3yz7rz1ai1z0fa-gcc-stripped-tarball-4.9.3
>> /gnu/store/niqxni4hhjr2wvlabn92z1asqb7xcnsx-static-binaries-tarball-0
>>
>> /gnu/store/pskf0y5q3j5a3k30c0czd2xymwp4224i-binutils-static-stripped-tarball-2.25.1
>> $ git describe
>> v0.11.0-1764-g3ad7dce
>> --8<---------------cut here---------------end--------------->8---
>>
>> See:
>>
>>
>> https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnu.bootstrap-tarballs-0.x86_64-linux
>>
>> https://hydra.gnu.org/job/gnu/master/mips64el-linux-gnuabi64.bootstrap-tarballs-0.x86_64-linux
>
> For efraim and for myself,
>
> guix build --target=mips64el-linux-gnu bootrap-tarballs
>
> got broken with commit
>
> b9bc6e842066b066ebdf9eaf75d41753598d75b5
>
> After some digging, I think I have found the root cause. That commit
> introduces a (otherwise fine) replacement for expat, but this triggers a
> problem:
>
> After package-cross-derivation has (sucesfully) cross-built the
> un-grafted bootstrap-tarballs derivation, it tries to resolve grafts,
> using (bag-grafts), which does:
>
> (define target-grafts
> (if target
> (let ((->graft (input-cross-graft store target system)))
> (fold-bag-dependencies (lambda (package grafts)
> (match (->graft package)
> (#f grafts)
> (graft (cons graft grafts))))
> '()
> bag
> #:native? #f))
>
> Now, (fold-bag-dependencies) goes trhough *all* the dependencies, down to
> make-boot0. The replacement in expat causes this loop to apply
> (package-cross-derivation) to them, including those which are not
> cross-compilable, at which point building fails (make-boot0).
Indeed, looks like a genuine bug. Cc’ing bug-guix so we can keep track
of it.
> Probably building with --no-grafts is a suitable work-around, or
> cross-building expat beforehand (thus I won't need grafting) but I am
> leaving my store untoched for a while to be able to produce a proper
> fix.
Yeah, I’d suggest using --no-grafts until this is fixed.
Thanks,
Ludo’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#24841: Cross-building bootstrap binaries fail in current master,
Ludovic Courtès <=