From: "Ludovic Courtès" <ludo@gnu.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: 42327-done@debbugs.gnu.org
Subject: bug#42327: Offload build to Childhurd selects linux-libre-headers
Date: Mon, 13 Jul 2020 16:52:02 +0200 [thread overview]
Message-ID: <875zaro4bx.fsf@gnu.org> (raw)
In-Reply-To: <87tuydemnh.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Sun, 12 Jul 2020 00:01:54 +0200")
[-- Attachment #1: Type: text/plain, Size: 1422 bytes --]
Hi!
Jan Nieuwenhuizen <janneke@gnu.org> skribis:
> With static-bash-for-glibc, however, it goes off track
>
> $ ./pre-inst-env guix build --system=i586-gnu \
> -e '(@@ (gnu packages commencement) static-bash-for-glibc)'
> The following derivations will be built:
> /gnu/store/gv40jpz4g0hbia28wa6d50z9x6ncgdlh-bash-static-5.0.16.drv
> /gnu/store/apj2ihazv6x3anhvfvmmqrkyak05p9yc-gcc-cross-boot0-wrapped-7.5.0.drv
> /gnu/store/yfpy5b3xqkarxchyhi339fw2ldwczj1d-linux-libre-headers-5.4.20.drv
>
>
> ...oops! Note that a native build on the Childhurd works all the way up
> to "hello".
>
> The "glibc-final-with-bootstrap-bash" has a propagated-inputs that looks
> like this
>
> (define* (kernel-headers-boot0 #:optional (system (%current-system)))
> (match system
> ("i586-gnu" hurd-core-headers-boot0)
> (_ linux-libre-headers-boot0)))
>
> (define glibc-final-with-bootstrap-bash
> [..]
> (propagated-inputs `(("kernel-headers" ,(kernel-headers-boot0))))
> [..])
>
> In KERNEL-HEADERS-BOOT0, SYSTEM is "x86_64-linux". Passing SYSTEM from
> a LET-SYSTEM clause (see attached patch) seems to fix this...but i'm
> afraid that triggers a world rebuild. Our offload Childhurds can only
> run master, right? Is there any way around this? Thoughts?
Here’s my powerful debugging trick for such dynamic binding issues (it’s
not related to offloading):
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 585 bytes --]
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d0393ebe25..5ec7facd02 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3116,6 +3116,9 @@ memoized as a function of '%current-system'."
,@(%boot0-inputs)))))
(define* (kernel-headers-boot0 #:optional (system (%current-system)))
+ (when (string=? system "x86_64-linux")
+ (pk system)
+ (display-backtrace (make-stack #t) (current-error-port) #f 80))
(match system
("i586-gnu" hurd-core-headers-boot0)
(_ linux-libre-headers-boot0)))
[-- Attachment #3: Type: text/plain, Size: 2858 bytes --]
That gives me this:
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build -s i586-gnu hello -d --no-grafts
;;; ("x86_64-linux")
In ice-9/boot-9.scm:
1736:10 30 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In unknown file:
29 (apply-smob/0 #<thunk 7f59f45ab580>)
In ice-9/boot-9.scm:
718:2 28 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 27 (_ #(#(#<directory (guile-user) 7f59f41e8f00>)))
In guix/ui.scm:
1953:12 26 (run-guix-command _ . _)
663:2 25 (call-with-error-handling _)
In ice-9/boot-9.scm:
1736:10 24 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
1731:15 23 (with-exception-handler #<procedure 7f59f1f734b0 at ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ # _)
In guix/status.scm:
776:4 22 (call-with-status-report _ _)
In ice-9/boot-9.scm:
1736:10 21 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In guix/store.scm:
631:22 20 (thunk)
1299:8 19 (call-with-build-handler #<procedure 7f59f1f8c930 at guix/ui.scm:1069:2 (continue store things mod…> …)
In guix/scripts/build.scm:
925:2 18 (_)
In ice-9/boot-9.scm:
1731:15 17 (with-exception-handler #<procedure 7f59e300e750 at ice-9/boot-9.scm:1815:7 (exn)> _ #:unwind? _ # _)
1736:10 16 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In guix/ui.scm:
440:6 15 (_)
In guix/scripts/build.scm:
927:5 14 (_)
In srfi/srfi-1.scm:
673:15 13 (append-map #<procedure 7f59e3015dc0 at guix/scripts/build.scm:927:17 (system)> ("i586-gnu"))
586:17 12 (map1 ("i586-gnu"))
In guix/scripts/build.scm:
929:20 11 (_ _)
In guix/store.scm:
1340:2 10 (map/accumulate-builds #<store-connection 256.99 7f59f1fb09b0> _ _)
In srfi/srfi-1.scm:
586:17 9 (map1 (#<package hello@2.10 gnu/packages/base.scm:74 7f59e57f0820>))
In guix/store.scm:
1299:8 8 (call-with-build-handler #<procedure build-accumulator (continue store things mode)> _)
In guix/scripts/build.scm:
888:18 7 (_ _)
In guix/packages.scm:
1075:16 6 (package-derivation _ #<package hello@2.10 gnu/packages/base.scm:74 7f59e57f0820> _ #:graft? _)
1393:22 5 (thunk)
927:4 4 (bag->derivation #<store-connection 256.99 7f59f1fb09b0> #<<bag> name: "hello-2.10" system: "i586-…> …)
812:23 3 (transitive-inputs _)
In gnu/packages/commencement.scm:
3304:44 2 (propagated-inputs #<package glibc-intermediate@2.31 gnu/packages/commencement.scm:3263 7f59e6856d20>)
3121:23 1 (kernel-headers-boot0 _)
In unknown file:
0 (make-stack #t)
--8<---------------cut here---------------end--------------->8---
At that point, it looks like a déjà-vu to me. :-)
Should be fixed with efb10f175fa6323024aa471c58ea1da445085298.
Thanks,
Ludo’.
prev parent reply other threads:[~2020-07-13 14:53 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-11 22:01 bug#42327: Offload build to Childhurd selects linux-libre-headers Jan Nieuwenhuizen
2020-07-13 14:52 ` Ludovic Courtès [this message]
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=875zaro4bx.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=42327-done@debbugs.gnu.org \
--cc=janneke@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).