[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#72061: Discrepancy when running ‘guix pull’ from different machines
From: |
Simon Tournier |
Subject: |
bug#72061: Discrepancy when running ‘guix pull’ from different machines |
Date: |
Mon, 02 Sep 2024 22:04:50 +0200 |
Hi Konrad,
On Mon, 02 Sep 2024 at 17:31, Konrad Hinsen <konrad.hinsen@fastmail.net> wrote:
> The "channels.scm" attached to my last message describes Guix at the
> time "guix time-machine" was launched. It's not the channels file used
> in the time machine command! That one is quite short:
In your previous message, you wrote:
--8<---------------cut here---------------start------------->8---
He gets an error when running an example from one of our exercises:
guix time-machine --channels=channels.scm -- shell --container --network
--manifest=manifest.scm -- jupyter lab
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?
--8<---------------cut here---------------end--------------->8---
So IIUC, the channels.scm file you provided is not the same channels.scm
file here. You provided all the revisions to get this Guix and from
this Guix you tries to reach another revision (named channels.scm in the
above but just reads 7b0863f07a113caef26fea13909bd97d250b629e).
Right?
Again IIUC, the picture looks like:
The hypothetical commit introducing the potential breakage:
records: Do not inline the constructor.
c14b8636fbac9826115f4524d500536d54c15625
CommitDate: Sat May 4 19:14:24 2024 +0200
Change-Id: Ifd7b4e884e9fbf21c43fb4c3ad963126ef5cb476
The Guix revision (newer than the record modification):
guix: 325fed4c1514bffd084355455710fcc3f1c8da2c
CommitDate: Tue Jul 16 10:28:05 2024 -0500
guix-science: 12eba5aa0c5cbf357c476ef7872e0d562d054eff
CommitDate: Wed May 22 17:40:02 2024 +0200
And the revision time-machine going in the past:
guix: 7b0863f07a113caef26fea13909bd97d250b629e
CommitDate: Wed Jan 3 16:38:57 2024 -0500
>> Is the current failing Guix running a revision older than May?
>
> It's the one defined in channels.scm, meaning commit
> 325fed4c1514bffd084355455710fcc3f1c8da2c, from July 16th 2024. So, no,
> not older than May.
On my machine, it passes too:
--8<---------------cut here---------------start------------->8---
$ guix time-machine -C channels.scm \
-- time-machine --commit=7b0863f07a113caef26fea13909bd97d250b629e \
-- describe
guix 7b0863f
repository URL: https://git.savannah.gnu.org/git/guix.git
commit: 7b0863f07a113caef26fea13909bd97d250b629e
--8<---------------cut here---------------end--------------->8---
Well, I do not know how to debug that. :-) Especially without an access
to the machine and considering the person, from the MOOC, is probably
new to Guix.
Assuming ’guix describe’ returns all the channels as mentioned earlier,
this is how to check that the current Guix contains the variable.
--8<---------------cut here---------------start------------->8---
$ thisguix=$(type -P guix)
$ realguix=$(readlink -f $thisguix)
$ themodules=$(guix gc --references $realguix | grep guix-module-union)
$ find -L $themodules -type f -name "*.scm" -exec grep -l 'procedure/abi-check'
{} \;
/gnu/store/ljgzk92h0hd09bli5iccg8yfp3gf1hb4-guix-module-union/share/guile/site/3.0/guix/records.scm
--8<---------------cut here---------------end--------------->8---
If nothing is returned, then it would mean that something had been
twisted when compiling (pulling) this current Guix. In that case, what
would be the output of:
$realguix describe
guix gc --references $realguix
guix gc --references $themodules
?
Else, if the file is returned, it means the error is from elsewhere,
e.g., how the Guile modules are loaded or other. In that case, it would
require to investigate the derivations.
Well, the hash ljgzk92h0hd09bli5iccg8yfp3gf1hb4 can be different, I
guess.
Cheers,
simon