unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: csanchezdll@gmail.com (Carlos Sánchez de La Lama)
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: Cross-building bootstrap binaries fail in current master
Date: Fri, 21 Oct 2016 14:17:45 +0200	[thread overview]
Message-ID: <7tvawl7v6e.fsf@gmail.com> (raw)
In-Reply-To: <87eg3bb04s.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 20 Oct 2016 15:50:11 +0200")

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

  reply	other threads:[~2016-10-21 12:17 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-20  9:07 Cross-building bootstrap binaries fail in current master Carlos Sánchez de La Lama
2016-10-20  9:12 ` Efraim Flashner
2016-10-20 13:50 ` Ludovic Courtès
2016-10-21 12:17   ` Carlos Sánchez de La Lama [this message]
2016-10-31 21:59     ` Ludovic Courtès
2017-11-28  4:31       ` bug#24841: " Chris Marusich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7tvawl7v6e.fsf@gmail.com \
    --to=csanchezdll@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).