[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem with guix copy
From: |
Simon Tournier |
Subject: |
Re: Problem with guix copy |
Date: |
Tue, 19 Mar 2024 11:26:17 +0100 |
Hi Emmanuel,
> Machine_B # guix copy --from=Machine_A bazel --dry-run
> The following derivation would be built:
> /gnu/store/0lscmi07b2y0aw6hscbgm2h7nqwc6sb1-bazel-6.4.0.drv
Could you share this derivation file? And the one from Machine A?
To be precise, on Machine B, you should get:
$ guix time-machine -q -C channels.scm -- build --no-grafts bazel -d
/gnu/store/dnwdzl84cxgk232cwh8843f3dhqmyd69-bazel-6.4.0.drv
And on Machine A, you get another one, right?
For instance, run this command on both machines:
cp \
$(guix time-machine -q -C channels.scm -- build --no-grafts bazel -d) \
/tmp/machine-X.drv
where X is A or B, respectively.
These files track exactly how the item is built (derived). Therefore,
since the hash of the output differs, you should differ somewhere.
Previously, you checked about the inputs, now we need to compare the
complete derivation.
Cheers,
simon
PS: Please note that the content of two store items might be bit-to-bit
identical with different store item paths (hash).
Consider the example with the exact same source where the difference
is just one comment somewhere in the code. Then, their hashes are
different. However, once compiled the binaries are identical
(compiler usually removes comments).
Since the hash of one input (source) differs, then the store item
paths are different but the content of these both store items are
bit-to-bit identical.
The machinery to track down the origin of the difference is all
these derivation .drv files.
Re: Problem with guix copy,
Simon Tournier <=
Re: Problem with guix copy, Simon Tournier, 2024/03/27