From: Jan Nieuwenhuizen <janneke@gnu.org>
To: Mark H Weaver <mhw@netris.org>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers.
Date: Sat, 14 May 2016 08:37:44 +0200 [thread overview]
Message-ID: <87zirtcfgn.fsf@drakenvlieg.flower> (raw)
In-Reply-To: <87vb2h2onq.fsf@netris.org> (Mark H. Weaver's message of "Sat, 14 May 2016 01:29:13 -0400")
Mark H Weaver writes:
Hi Mark,
TL;DR: Apparently I tested only the full mingw stack. I'm working on a
fix for cut now and will extend my test set. Sorry.
> This patch, pushed to master about two weeks ago as commit
> efc4eb147512fa7a2c6d74d9b296cfc22b1ef198, broke 79 cross-compiled builds
> on hydra:
>
> http://hydra.gnu.org/eval/108933#tabs-now-fail
Oops 2. Noted as an `interesting' url to look at after buildsystem
patches are merged, thanks.
> The problem is that 'cross-libc' creates build-side code that uses 'cut'
> from srfi-26, although (srfi srfi-26) is not loaded on the build side:
>> + (for-each (cut setenv <> cpath)
>> + '("CROSS_C_INCLUDE_PATH"
>> + "CROSS_CPLUS_INCLUDE_PATH"
>> + "CROSS_OBJC_INCLUDE_PATH"
>> + "CROSS_OBJCPLUS_INCLUDE_PATH"))
>> #t))
>> ,phases))))
>
> Leading to "ERROR: Unbound variable: cut".
>
> http://hydra.gnu.org/build/1185432/nixlog/3/tail-reload
>
> In contrast, 'cross-gcc', which also uses 'cut' in its build-side code,
> arranges to have (srfi srfi-26) loaded via the '#:modules' argument
> (lines 232-240 of cross-base.scm):
> (arguments
> `(#:implicit-inputs? #f
> #:modules ((guix build gnu-build-system)
> (guix build utils)
> (ice-9 regex)
> (srfi srfi-1)
> (srfi srfi-26))
>
> ,@(cross-gcc-arguments target libc)))
Yes, apparently that's what I tested.
> In addition to this problem with 'cut', there was also a syntax error
> corrected by Ludovic in commit 0a0884c9916d2d4632c6b86a917ce1fa038cf7a7:
> - ,phases))
> - (else phases)))))))
> + ,phases)
> + phases)))))))
I was very unhappy with that, sorry.
> Given the non-trivial nature of these changes, I assume that you tested
> your patch set before submitting it, which leads me to conclude that you
> accidentally sent us a different, untested version of this patch. Can
> you try to find the version that you tested?
Apparently I made some changes that I, unintentionally, did not test.
The typo above is a snippet that belonged in the subsequent
[PATCH 04/10] gnu: cross-build: i686-w64-mingw32: new cross target.
which thus shadowed/fixed what I actually tested, it's easy to spot
when you know wat to look for
https://lists.gnu.org/archive/html/guix-devel/2016-04/msg01189.html
- (if libc
+ (cond
+ ((mingw-target? target)
...
- (else phases)))))))
+ (else phases))))))))
I developed the mingw cross build as one fat patch and then split that
out into 10 separate patches, and I only tested the combination of
patches. The 04/10 did not get in, thus triggering the typo.
As for the cross-compile missing cut-bug: I had a wrong understanding of
the build system. I was convinced that cross-gcc was used during
bootstrapping and that I thus was implicitly testing that. Last week
Manolis showed me this is not the case.
What I did do, was rebase my the mingw patch set to Manolis' wip-hurd
branch and make hurd bootstrap tarballs. With that, I thought I had
other cross builds covered. However, the changes that needed had to be
manually transplanted back. I'm not sure if I missed the cut problem
there or if that's yet another code location; I'm looking into that.
> Anyway, thanks for your efforts on this important work!
:-) Thanks for your patience and understanding!
Meanwhile, I can "happily" confirm that
./pre-inst-env guix build --target=mips64el-linux-gnuabi64 hello
currently fails for me; so I've got a failing test to repair. I add
this to my test set.
Greetings,
Jan
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.nl
next prev parent reply other threads:[~2016-05-14 6:43 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 15:12 [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 02/10] gnu: bootstrap: Add i686-mingw Jan Nieuwenhuizen
2016-04-29 15:34 ` Manolis Ragkousis
2016-04-29 18:28 ` Jan Nieuwenhuizen
2016-05-01 11:02 ` Manolis Ragkousis
2016-04-29 15:12 ` [PATCH 03/10] gnu: Add mingw-w64 Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 04/10] gnu: cross-build: i686-w64-mingw32: new cross target Jan Nieuwenhuizen
2016-05-02 8:06 ` Andy Wingo
2016-05-02 18:34 ` Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 05/10] gnu: gmp: build shared library for mingw Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 06/10] gnu: Add libiconv Jan Nieuwenhuizen
2016-05-01 17:07 ` Manolis Ragkousis
2016-05-01 17:43 ` John Darrington
2016-05-01 18:58 ` Jan Nieuwenhuizen
2016-05-01 19:07 ` John Darrington
2016-05-03 12:19 ` Ludovic Courtès
2016-05-01 18:27 ` Jan Nieuwenhuizen
2016-05-03 12:20 ` Ludovic Courtès
2016-05-03 16:55 ` [PATCH 06a/10] " Jan Nieuwenhuizen
2016-05-05 14:56 ` Ludovic Courtès
2016-05-03 16:56 ` [PATCH 06b/10] gnu: Add function libiconv-if-needed Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 07/10] gnu: ncurses: support mingw Jan Nieuwenhuizen
2016-05-02 8:09 ` Andy Wingo
2016-05-02 18:41 ` Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 08/10] gnu: readline: " Jan Nieuwenhuizen
2016-05-02 8:12 ` Andy Wingo
2016-05-02 18:52 ` Jan Nieuwenhuizen
2016-05-02 19:25 ` Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 09/10] gnu: libunistring: support mingw: propagate libiconv if needed Jan Nieuwenhuizen
2016-04-29 15:12 ` [PATCH 10/10] gnu: guile-2.0: support mingw Jan Nieuwenhuizen
2016-05-02 8:04 ` [PATCH 01/10] gnu: cross: Use CROSS_*_INCLUDE_PATH for system headers Andy Wingo
2016-05-02 17:59 ` Jan Nieuwenhuizen
2016-05-03 12:06 ` Ludovic Courtès
2016-05-03 13:27 ` Andy Wingo
2016-05-03 12:16 ` Ludovic Courtès
2016-05-14 5:29 ` Mark H Weaver
2016-05-14 6:37 ` Jan Nieuwenhuizen [this message]
2016-05-14 8:25 ` FIXUP: " Jan Nieuwenhuizen
2016-05-14 20:05 ` Ludovic Courtès
2016-05-14 20:50 ` Jan Nieuwenhuizen
2016-05-16 21:02 ` Ludovic Courtès
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zirtcfgn.fsf@drakenvlieg.flower \
--to=janneke@gnu.org \
--cc=guix-devel@gnu.org \
--cc=mhw@netris.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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.