all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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  

  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.