[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#37506: [core-updates] Inferiors cannot reference master branch

From: Ludovic Courtès
Subject: bug#37506: [core-updates] Inferiors cannot reference master branch
Date: Mon, 30 Sep 2019 10:15:45 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)


> 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:

--8<---------------cut here---------------start------------->8---
[10/86] Loading './guix/build/syscalls.scm'...
          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
--8<---------------cut here---------------end--------------->8---

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.

Problem is that we would potentially need to keep the hack forever.

Needs more thought…


reply via email to

[Prev in Thread] Current Thread [Next in Thread]