guix-science
[Top][All Lists]
Advanced

[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.



reply via email to

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