'guix pull --branch=master' on core-updates (Guile 2.2.6) fails

DoneSubmitted by Marius Bakke.
Details
2 participants
  • Ludovic Courtès
  • Marius Bakke
Owner
unassigned
Severity
important
M
M
Marius Bakke wrote on 24 Sep 2019 19:00
[core-updates] Inferiors cannot reference master branch
(address . bug-guix@gnu.org)
87muetaau0.fsf@devup.no
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_NOFOLLOWbuilder for `/gnu/store/3a5d7ykx6wpyw9z1i01w69cafhrzjc21-module-import-compiled.drv' failed with exit code 1cannot build derivation `/gnu/store/l3kml1yk7ma9d1bybsjvv5iw1khy6b89-compute-guix-derivation.drv': 1 dependencies couldn't be builtguix system: error: exception thrown: #<condition &store-protocol-error [message: "build of `/gnu/store/l3kml1yk7ma9d1bybsjvv5iw1khy6b89-compute-guix-derivation.drv' failed" status: 100] 7f97fba2e540
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl2KS6cACgkQoqBt8qM6VPrUVAgAzy5POPOlPTllw4arewNAS96ZXTiTnnjFOn1UJCdtj1dTJPND5yYbt2M/IovjlFqTw0hI57b0reIZzGLGBics4gqCZVWzQE5auJKTV4d7jnPzyRbVIBueq1jRsbJXuRFumzz6kyebOPwYRT5vErlYz/XapnqPYagznYNwb1UP8yea8Aqf9dzK6g56LD8ADsZ53hiDfxIFIPkShB2tuqrssRRhlRSF0uUlHgnIZBrOeOmU5KEudyRs3QHYa3ffr3B4RBig6vLgnGVhEvRbTwjBlwLAYXx9Yd7OgTUU4rGWkSXNwvuiWEJTcctqulhTRz0m0QqhEWk8OlDSuuLwQOCk4w===4oLE-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 26 Sep 2019 23:17
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 37506@debbugs.gnu.org)
87v9tehi4u.fsf@gnu.org
Hi,
Marius Bakke <mbakke@fastmail.com> skribis:
Toggle quote (3 lines)> On the 'core-updates' branch, if you try to reference the 'master'> branch in an inferior, your system will fail to build like so:
Could you provide a manifest or something to reproduce this?
Thanks,Ludo’.
M
M
Marius Bakke wrote on 27 Sep 2019 14:16
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37506@debbugs.gnu.org)
87d0fm9bno.fsf@devup.no
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (9 lines)> Hi,>> Marius Bakke <mbakke@fastmail.com> skribis:>>> On the 'core-updates' branch, if you try to reference the 'master'>> branch in an inferior, your system will fail to build like so:>> Could you provide a manifest or something to reproduce this?
Here is a manifest that reproduces this failure:
(use-modules (guix channels) (guix inferior) (srfi srfi-1)) (define channels (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "dec845606d2d184da31065fa26cd951b84b3ce2d")))) (define inferior (inferior-for-channels channels)) (packages->manifest (first (lookup-inferior-packages inferior "hello")))
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl2N/bsACgkQoqBt8qM6VPpIaQf/VEOlXzwml4lwQN8OgRfVAuWPKcvLMhCPHyaofULviAuixo0yPONARbCkET/jIMHHMxitHiT/xC2dF8e6mhP7R8MmE02GnVxqi4UKPfRoyahNGNNJHGsvIlwz6cVy6DWNsHhlZJlW5ozb6ofw0mBYNf/AEp9zzupcXPjPDeiIdCmyM5jdlFdHIH83rU9Uu0iQ+/w12tD0hb5gZ9V7Uh1J67M/V6LqQa6GjLVT/J7M5mhAJP6HVVw2fvLa2G/wpg+o1j2YY/L4+6cbC1+hw3u5WCDO4JNversrcUhxTKDLFX+CN0hyBu7ALWUfnkZgz916u7vDzLpZ/+eXPHEFSJPpUA===g0+E-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 28 Sep 2019 21:52
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 37506@debbugs.gnu.org)
87a7aop59n.fsf@gnu.org
Hi Marius!
Marius Bakke <mbakke@fastmail.com> skribis:
Toggle quote (16 lines)> Here is a manifest that reproduces this failure:>> (use-modules (guix channels)> (guix inferior)> (srfi srfi-1))>> (define channels> (list (channel> (name 'guix)> (url "https://git.savannah.gnu.org/git/guix.git")> (commit "dec845606d2d184da31065fa26cd951b84b3ce2d"))))>> (define inferior> (inferior-for-channels channels))>> (packages->manifest (first (lookup-inferior-packages inferior "hello")))
^~~~~‘packages->manifest’ expects a list, so I had to remove the call to ‘first’.
But then it works for me on both ‘core-updates’ and ‘master’:
Toggle snippet (28 lines)$ ./pre-inst-env guix package -m /tmp/t.scm -p /tmp/profUpdating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...installing new manifest from '/tmp/t.scm' with 1 entriessubstitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%The following derivation will be built: /gnu/store/4h0y9413i4nvdwccz5svv1m5y36l384v-profile.drvThe following profile hooks will be built: /gnu/store/8rp1mzhlscri2ipx9xszld9sli79ywpn-ca-certificate-bundle.drv /gnu/store/g2cvc48yn91igp7bvsv6bw5cz47gzgzs-fonts-dir.drv /gnu/store/p5m0rag6q73qisrcnp0l79fdrp1hj2rv-manual-database.drv /gnu/store/pvhkcys50sz2apq1pb05fgva2hky91ap-info-dir.drvbuilding CA certificate bundle...building fonts directory...building directory of Info manuals...building database for manual pages...building /gnu/store/4h0y9413i4nvdwccz5svv1m5y36l384v-profile.drv...1 package in profilehint: Consider setting the necessary environment variables by running:
GUIX_PROFILE="/tmp/prof" . "$GUIX_PROFILE/etc/profile"
Alternately, see `guix package --search-paths -p "/tmp/prof"'.
$ git log|head -1commit 3128d6a16a80d40d927c41f530dd48ebbb8a036d
Am I missing something?
Ludo’.
M
M
Marius Bakke wrote on 29 Sep 2019 13:46
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 37506@debbugs.gnu.org)
87y2y78gv5.fsf@devup.no
Ludovic Courtès <ludo@gnu.org> writes:
Toggle quote (23 lines)> Hi Marius!>> Marius Bakke <mbakke@fastmail.com> skribis:>>> Here is a manifest that reproduces this failure:>>>> (use-modules (guix channels)>> (guix inferior)>> (srfi srfi-1))>>>> (define channels>> (list (channel>> (name 'guix)>> (url "https://git.savannah.gnu.org/git/guix.git")>> (commit "dec845606d2d184da31065fa26cd951b84b3ce2d"))))>>>> (define inferior>> (inferior-for-channels channels))>>>> (packages->manifest (first (lookup-inferior-packages inferior "hello")))> ^~~~~> ‘packages->manifest’ expects a list, so I had to remove the call to ‘first’.
Whoops... It still fails in the same way for me without the (first ...).
Toggle quote (33 lines)> But then it works for me on both ‘core-updates’ and ‘master’:>> --8<---------------cut here---------------start------------->8---> $ ./pre-inst-env guix package -m /tmp/t.scm -p /tmp/prof> Updating channel 'guix' from Git repository at 'https://git.savannah.gnu.org/git/guix.git'...> installing new manifest from '/tmp/t.scm' with 1 entries> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%> The following derivation will be built:> /gnu/store/4h0y9413i4nvdwccz5svv1m5y36l384v-profile.drv> The following profile hooks will be built:> /gnu/store/8rp1mzhlscri2ipx9xszld9sli79ywpn-ca-certificate-bundle.drv> /gnu/store/g2cvc48yn91igp7bvsv6bw5cz47gzgzs-fonts-dir.drv> /gnu/store/p5m0rag6q73qisrcnp0l79fdrp1hj2rv-manual-database.drv> /gnu/store/pvhkcys50sz2apq1pb05fgva2hky91ap-info-dir.drv> building CA certificate bundle...> building fonts directory...> building directory of Info manuals...> building database for manual pages...> building /gnu/store/4h0y9413i4nvdwccz5svv1m5y36l384v-profile.drv...> 1 package in profile> hint: Consider setting the necessary environment variables by running:>> GUIX_PROFILE="/tmp/prof"> . "$GUIX_PROFILE/etc/profile">> Alternately, see `guix package --search-paths -p "/tmp/prof"'.>> $ git log|head -1> commit 3128d6a16a80d40d927c41f530dd48ebbb8a036d> --8<---------------cut here---------------end--------------->8--->> Am I missing something?
I have included a system configuration that works fine on 'master' butnot on 'core-updates'. It consistently fails to `guix system build`across multiple machines, including "berlin".
(use-modules (gnu) (gnu system nss) (guix inferior) (guix channels) (srfi srfi-1)) (use-service-modules base) (define channels (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "9b983086345557ac0a6a40c8cb3a2afd5250d3ee")))) (define inferior (inferior-for-channels channels)) (operating-system (host-name "antelope") (timezone "Europe/Paris") (locale "en_US.utf8") (kernel (first (lookup-inferior-packages "linux-libre"))) (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/sda"))) (file-systems (cons (file-system (device "/dev/sda1") (mount-point "/") (type "ext4")) %base-file-systems)) (users %base-user-accounts) (packages %base-packages) (services %base-services))
-----BEGIN PGP SIGNATURE-----
iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl2QmZ4ACgkQoqBt8qM6VPqIIAgAzwkBwnRlTf36DYG5UcEDMgcbutUDwg+Doz9l7FGoI9OVaf3VB3JDG4UMjuDYUIn93TUb64LoZRkKg7aMiBRWWox1mW/JIwdoBg22II9sAOOTeqoFXzfoUd2pGfjTfDTFMnBv+CuExUXeoimVOjLKqU5lEtbNdVlq0yidP5EWmleRNDo9oftpGwLpSZtAV139XoEjE7mqkZCYULtlnSDpftuM0fULChVPeMYxYA+0T4jl55Pci6vk8pPX0hCSL8R7bhCN7P/7FXrWkzSKnF0NMaibzwdKwBZbe9UEh31b2vlzsf3DEF0u1BmsfYZQWhTG9Wsp2nOmKrh66tP3UURjuw===0Zii-----END PGP SIGNATURE-----
L
L
Ludovic Courtès wrote on 29 Sep 2019 21:27
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 37506-done@debbugs.gnu.org)
87impalx6u.fsf@gnu.org
Hi Marius,
Marius Bakke <mbakke@fastmail.com> skribis:
Toggle quote (4 lines)> I have included a system configuration that works fine on 'master' but> not on 'core-updates'. It consistently fails to `guix system build`> across multiple machines, including "berlin".
Oh I see. This is fixed by cherry-picking96783ed6275cd2818ff56916274e6e4582f1dc9b from ‘core-updates’ into‘master’. Will push shortly.
Thank you!
Ludo’.
Closed
L
L
Ludovic Courtès wrote on 30 Sep 2019 09:59
control message for bug #37506
(address . control@debbugs.gnu.org)
87r23y6wp1.fsf@gnu.org
retitle 37506 'guix pull --branch=master' on core-updates (Guile 2.2.6) failsquit
L
L
Ludovic Courtès wrote on 30 Sep 2019 09:59
(address . control@debbugs.gnu.org)
87pnji6woy.fsf@gnu.org
severity 37506 importantquit
L
L
Ludovic Courtès wrote on 30 Sep 2019 10:15
Re: bug#37506: [core-updates] Inferiors cannot reference master branch
87blv26vym.fsf_-_@gnu.org
Hello,
Toggle quote (4 lines)> 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 thecurrent ‘master’ branch between and456c7ade095cce96f47389c37a4fe3b0390047fd and7089f98ef1c274f1607ec314f3a16bd3c3ac89a4. For any commit in that range,‘guix pull --commit=COMMIT’ will now always fail with:
Toggle snippet (27 lines)[10/86] Loading './guix/build/syscalls.scm'...Backtrace: 11 (primitive-load "/gnu/store/yk0wdnkknq9wra78ndvzv2vhc11?")In ice-9/eval.scm: 619:8 10 (_ #f)In srfi/srfi-1.scm: 466:18 9 (fold #<procedure 7ffff5afbe00 at ice-9/eval.scm:336:1?> ?) 466:18 8 (fold #<procedure 7fffef7ef0a0 at ice-9/eval.scm:336:1?> ?) 466:18 7 (fold #<procedure 7ffff4a17420 at ice-9/eval.scm:336:1?> ?)In ice-9/eval.scm: 619:8 6 (_ #(#(#<directory (guix build utils) 7ffff5f51500>) # ?))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 7fffeec6ea40 ?>) 260:13 1 (for-each #<procedure 7fffeec6e900 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
It’s a case where code isn’t “forward-compatible”, and it’s code neededto 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 undefineAT_SYMLINK_NOFOLLOW & co., or we could build the trampoline with 2.2.4.
Problem is that we would potentially need to keep the hack forever.
Needs more thought…
Ludo’.
L
L
Ludovic Courtès wrote on 2 Oct 2019 11:40
(name . Marius Bakke)(address . mbakke@fastmail.com)(address . 37506-done@debbugs.gnu.org)
875zl7jxhx.fsf@gnu.org
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
Toggle quote (10 lines)>> 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:
[...]
Toggle quote (10 lines)> 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. Normallythey should be quite rare because the code used to build the trampolinetargets the common denominator of all Guile and Guix revisions, butwe’ll see.
Ludo’.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 37506@debbugs.gnu.org