Hi! > 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: --8<---------------cut here---------------start------------->8--- (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)) --8<---------------cut here---------------end--------------->8--- 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). 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. BR Carlos