Subject: bug#72061: Discrepancy when running ‘guix pull’ from different machines

From: Simon Tournier <[email-masked]>
Date: Mon, 26 Aug 2024 18:38:54 +0200

Hi Konrad,

CC: Ludo, do you think it comes from the commit c14b8636fb: “records: Do
not inline the constructor.”?

On Wed, 24 Jul 2024 at 21:35, Konrad Hinsen <[email-masked]> wrote:

>> Could you share the channels.scm file?
>
> Attached.

Thanks.  Do you know what the current Guix revision?  It should have no
effect but who knows. :-)

I mean, guix-daemon had been updated.  Has the Guix command launching
“guix time-machine” been updated too?

>> Because the mention of ’guix-science’ means third-party channels, I
>> guess.  And maybe there is something tricky when mixing different
>> specific pinned channels.
>
> I thought about that as well, but the behavior should still be the same
> on every machine, right? For me, the attached channels.scm works fine.

Yes.  But there is a "Computing Guix derivation“ in the middle. :-)

If I read correctly, this error message:

> guix time-machine --channels=channels.scm -- …
> guix-science/build-system/node.scm:119:2: error: #{ %make-build-system-procedure/abi-check}#: unbound variable
> hint: Did you forget a `use-modules' form?

comes from the macro ’define-record-type*’; see module (guix records).

                         (symbol-append (string->symbol " %")
                                        (syntax->datum #'ctor)
                                        '-procedure/abi-check)))

That’s weird, because all seems correctly included, i.e., the variable
should be bounded.  Well, the revisions from the channels.scm file
reads:

    guix-science: 12eba5aa0c5cbf357c476ef7872e0d562d054eff
    CommitDate: Wed May 22 17:40:02 2024 +0200

    guix: 325fed4c1514bffd084355455710fcc3f1c8da2c
    CommitDate: Tue Jul 16 10:28:05 2024 -0500

And the file guix/records.scm had been modified by:

        records: Do not inline the constructor.
        c14b8636fbac9826115f4524d500536d54c15625
        CommitDate: Sat May 4 19:14:24 2024 +0200 
        Change-Id: Ifd7b4e884e9fbf21c43fb4c3ad963126ef5cb476

Is the current failing Guix running a revision older than May?

Cheers,
simon