--- Begin Message ---
Subject: |
[core-updates] Inferiors cannot reference master branch |
Date: |
Tue, 24 Sep 2019 19:00:23 +0200 |
User-agent: |
Notmuch/0.29.1 (https://notmuchmail.org) Emacs/26.2 (x86_64-pc-linux-gnu) |
Hello,
On the 'core-updates' branch, if you try to reference the 'master'
branch in an inferior, your system will fail to build like so:
Backtrace:
11 (primitive-load "/gnu/store/m5wq1irm2gb7r4k72qmzf1hi426?")
In ice-9/eval.scm:
619:8 10 (_ #f)
In srfi/srfi-1.scm:
466:18 9 (fold #<procedure 7ffff4f17ec0 at ice-9/eval.scm:336:1?> ?)
466:18 8 (fold #<procedure 7ffff445c500 at ice-9/eval.scm:336:1?> ?)
466:18 7 (fold #<procedure 7fffeff86ea0 at ice-9/eval.scm:336:1?> ?)
In ice-9/eval.scm:
619:8 6 (_ #(#(#<directory (guix build utils) 7ffff5c9e500>) # ?))
In ice-9/boot-9.scm:
2312:4 5 (save-module-excursion _)
In unknown file:
4 (primitive-load "./guix/build/syscalls.scm")
In ice-9/eval.scm:
619:8 3 (_ #f)
In ice-9/boot-9.scm:
2071:24 2 (call-with-deferred-observers #<procedure 7fffeecd2480 ?>)
260:13 1 (for-each #<procedure 7fffeecd2340 at ice-9/boot-9.scm?> ?)
In unknown file:
0 (scm-error misc-error #f "~A ~S" ("re-exporting loc?" ?) ?)
ERROR: In procedure scm-error:
re-exporting local variable: AT_SYMLINK_NOFOLLOW
builder for
`/gnu/store/3a5d7ykx6wpyw9z1i01w69cafhrzjc21-module-import-compiled.drv' failed
with exit code 1
cannot build derivation
`/gnu/store/l3kml1yk7ma9d1bybsjvv5iw1khy6b89-compute-guix-derivation.drv': 1
dependencies couldn't be built
guix system: error: exception thrown: #<condition &store-protocol-error
[message: "build of
`/gnu/store/l3kml1yk7ma9d1bybsjvv5iw1khy6b89-compute-guix-derivation.drv'
failed" status: 100] 7f97fba2e540
signature.asc
Description: PGP signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#37506: [core-updates] Inferiors cannot reference master branch |
Date: |
Wed, 02 Oct 2019 11:40:58 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi,
Ludovic Courtès <address@hidden> skribis:
>> Oh I see. This is fixed by cherry-picking
>> 96783ed6275cd2818ff56916274e6e4582f1dc9b from ‘core-updates’ into
>> ‘master’. Will push shortly.
>
> On second thought, that doesn’t solve the problem for revisions on the
> current ‘master’ branch between and
> 456c7ade095cce96f47389c37a4fe3b0390047fd and
> 7089f98ef1c274f1607ec314f3a16bd3c3ac89a4. For any commit in that range,
> ‘guix pull --commit=COMMIT’ will now always fail with:
[...]
> ERROR: In procedure scm-error:
> re-exporting local variable: AT_SYMLINK_NOFOLLOW
>
> It’s a case where code isn’t “forward-compatible”, and it’s code needed
> to build the “compute-guix-derivation” trampoline. Bummer.
>
> We could hack something to work around it. For example, we could add to
> ‘compiled-modules’ a magic parameter that would tell it to undefine
> AT_SYMLINK_NOFOLLOW & co., or we could build the trampoline with 2.2.4.
I added a “quirk” for that in 37c0d4580e464a5915ea34109f78898325aae2c4.
I suppose we’ll accumulate quirks like this over time here. Normally
they should be quite rare because the code used to build the trampoline
targets the common denominator of all Guile and Guix revisions, but
we’ll see.
Ludo’.
--- End Message ---