Subject: bug#34158: dnscrypt hash failed

From: Björn Höfling <[email-masked]>
Date: Tue, 22 Jan 2019 19:16:56 +0100

On Mon, 21 Jan 2019 18:04:55 +0100 (CET)
<[email-masked]> wrote:

> Cannot install dnscrypt-proxy from guix repository.
> 
> 
> $ guix package -i dnscrypt-proxy
> building /gnu/store/dlwsmxp9djh28vzccagq83jffpx4d8il-dnscrypt-proxy-1.9.5.tar.bz2.drv...
> downloading from
> https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.9.5.tar.bz2
> <https://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.9.5.tar.bz2>...
> sha256 hash mismatch
> for /gnu/store/0g2nfhrkzhgm9mr8hw1qy49j1xd2diij-dnscrypt-proxy-1.9.5.tar.bz2:
> expected hash: 1dhvklr4dg2vlw108n11xbamacaryyg3dbrg629b76lp7685p7z8
> actual hash:   0n4cgxymdaffxnqpj7afb3m09wf27hymbmgw7im79mpmf02gmdyw
> hash mismatch for store item
> '/gnu/store/0g2nfhrkzhgm9mr8hw1qy49j1xd2diij-dnscrypt-proxy-1.9.5.tar.bz2'
> build
> of /gnu/store/dlwsmxp9djh28vzccagq83jffpx4d8il-dnscrypt-proxy-1.9.5.tar.bz2.drv
> failed View build log at
> '/var/log/guix/drvs/dl/wsmxp9djh28vzccagq83jffpx4d8il-dnscrypt-proxy-1.9.5.tar.bz2.drv.bz2'.
> cannot build derivation
> `/gnu/store/wgrgfj5ki7cs7f2bp0skq11z87w88pp7-dnscrypt-proxy-1.9.5.tar.xz.drv':
> 1 dependencies couldn't be built cannot build derivation
> `/gnu/store/77riz9asfsprmx7xig4255b0bb7m0hny-dnscrypt-proxy-1.9.5.drv':
> 1 dependencies couldn't be built guix package: error: build failed:
> build of
> `/gnu/store/77riz9asfsprmx7xig4255b0bb7m0hny-dnscrypt-proxy-1.9.5.drv'
> failed

That is usually not a local error, but something went wrong when
downloading the sources. Often that happens because people "update" a
package "in place". Often it happens, because the homepage changed and
the sources are no longer where expected, you will get redirected to
some HTML file. That is the case here:

The domain is parked, so your download of the sources will of cause
fail:

http://dnscrypt.org/

Someone needs to update the package. I'm not sure, is this the same:

https://dnscrypt.info/
https://github.com/jedisct1/dnscrypt-proxy

In your case, you can still build the package from sources, because the
Guix build servers have it cached:

$ guix build -S dnscrypt-proxy
substitute: updating substitutes from 'https://berlin.guixsd.org'...
substitute: updating substitutes from 'https://mirror.hydra.gnu.org'...
0.8 MB will be downloaded:
   /gnu/store/zg6hn0jiywzpg14vc4kbsmk8qpdwki59-dnscrypt-proxy-1.9.5.tar.xz
substituting /gnu/store/zg6hn0jiywzpg14vc4kbsmk8qpdwki59-dnscrypt-proxy-1.9.5.tar.xz...
downloading from https://mirror.hydra.gnu.org/guix/nar/zg6hn0jiywzpg14vc4kbsmk8qpdwki59-dnscrypt-proxy-1.9.5.tar.xz...
[..]
/gnu/store/zg6hn0jiywzpg14vc4kbsmk8qpdwki59-dnscrypt-proxy-1.9.5.tar.xz

Have you enabled the substitutes?

> I've remounted /gnu/store, deleted dnscryot-proxy archive and run
> again. But same result.

NEVER play with the store, that is DANGEROUS. If you want to get rid of
a store file, use:

$ guix gc -d  /gnu/store/zg...-dnscrypt-proxy-1.9.5.tar.xz/gnu/sto

Björn