guix-devel
[Top][All Lists]
Advanced

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

Re: Offline build failure


From: Mark H Weaver
Subject: Re: Offline build failure
Date: Mon, 14 Dec 2020 21:47:21 -0500

Hi Greg,

Greg Hogan <code@greghogan.com> writes:

> For the Python-3.5.9 tarball the first version loads in the expected way.
> The second tarball is restored to a new location:
>
> ----------------------------------------
> $ cp -a /gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz
> Python-3.5.9.tar.xz
> $ guix download Python-3.5.9.tar.xz
> /gnu/store/f99fblkzb6ip268sg096shhs7wzjyp55-Python-3.5.9.tar.xz
> 0jdh9pvx6m6lfz2liwvvhn7vks7qrysqgwn517fkpxb77b33fjn2
>
> $ cp -a /gnu/store/nj79fxxl5wvnq7jpj2wgbx0591gkjw41-Python-3.5.9.tar.xz
> Python-3.5.9.tar.xz
> $ guix download Python-3.5.9.tar.xz
> /gnu/store/9sa83nyjlm5dyhwys4imm1wa40mjaw1x-Python-3.5.9.tar.xz
> 0rkn451qfz3gbni57la00a5fbgish9jmm5bmhmgmf223vxwya447
> ----------------------------------------
>
> Since the tarball is not restored to the original location the guix build
> command still attempts the download and fails the offline build.

guix download will only work properly for the outputs of "fixed-output"
derivations, i.e. derivations for which Guix knows, in advance, the
sha256 hash of the resulting output.  This roughly corresponds to store
items that either downloaded or imported directly into the store from
local files (e.g. patches).

It will *not* work properly for the outputs of derivations that are
computed somehow, where Guix does *not* know in advance the hash of the
resulting output.  In particular, it won't work properly for outputs
that result from applying patches or snippets.

My guess is that the second tarball above was the result of applying
patches to the downloaded tarball.

To copy arbitrary store items from one machine to another, you need
"guix copy" or "guix archive".

      Regards,
        Mark



reply via email to

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