unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: help-guix@gnu.org, Catriel <cdelia@dc.uba.ar>
Subject: Re: enchant hash, fail to upgrade
Date: Sun, 22 Sep 2019 23:30:24 +0200	[thread overview]
Message-ID: <DD86A0A8-5BE1-4D55-AA7E-28ED96BAA50E@lepiller.eu> (raw)
In-Reply-To: <87a7awm8ze.fsf@dc.uba.ar>

Le 22 septembre 2019 21:22:45 GMT+02:00, Catriel <cdelia@dc.uba.ar> a écrit :
>
>Hi!
>
>after a minor nuisanse (*) with guix pull, I stumble upon an error:
>
>$guix upgrade --fallback
>guix upgrade: aviso: paquete 'libstdc++' ya no existe
>guix upgrade: el paquete 'sbcl-next' ha sido reemplazado por 'next'
>substitute: updating substitutes from 'https://mirror.hydra.gnu.org'...
>100.0%
>substitute: updating substitutes from 'https://mirror.hydra.gnu.org'...
>100.0%
>construyendo
>/gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3.26.1.tar.xz.drv...
>/gnu/store/g6srxnikawk7snkzxk6vxmms1aldidww-libgnomekbd-3.26.1.tar.xz.drv
>construido satisfactoriamente
>construyendo
>/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv...
>la construcción de
>/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv
>falló
>Muestra el registro de construcción en
>'/var/log/guix/drvs/3d/fjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv.bz2'.
>construyendo
>/gnu/store/7gsxkb7qivmw6kw4aizfxnx5r6m6i2lh-gnupg-2.2.17.tar.bz2.drv...
>-guix upgrade: error: build of
>`/gnu/store/9xsx8j5b5j3khlicg91nrv6v84c3nssa-arc-theme-20181022.drv'
>failed
>
>(sorry about the language)
>
>it's saying that
>/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv
>failed.
>
>the log doesn't output anything usefull, it just shows that the file
>was
>downloaded.
>
>So I try to build it from the derivation for more info:
>
>guix build
>/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv 
>Se construirá la siguiente derivación:
>   /gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv
>construyendo
>/gnu/store/3dfjsc9nm0bjcv4p0gidgi61n3yk3ps3-enchant-2.2.5.tar.gz.drv...
>...
>sha256 hash mismatch for output path
>`/gnu/store/wsyfm5avik0wvh82gyxw9acbixp0ygbp-enchant-2.2.5.tar.gz'
>  expected: 0iqwzs11i9fvqdxv5kn0svcn2mzymn657qf3j66lg8dx1nh4xkpz
>  actual:   0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf
>
>
>And there it goes, the sha256 it's wrong, either in the .scm definition
>or upstream.
>
>I choose to trust upstream and try to define a package with the same
>name and version but different sha256.
>
>After
>
>guix download --no-check-certificate
>https://github.com/AbiWord/enchant/releases/download/v2.2.5/enchant-2.2.5.tar.gz
>
>to get the hash (**) and file
>
>and defining enchant.scm with:
>
>(use-modules (guix packages)
>             (guix download)
>             (gnu packages enchant)
>             (gnu packages wm))
>
>(package
> (inherit enchant)
> (name "enchant")
> (version "2.2.5")
> (source (origin
>          (method url-fetch)
>      (uri (string-append "https://github.com/AbiWord/enchant/releases"
>                              "/download/v" version "/enchant-"
>                              version ".tar.gz"))
>          (sha256
>           (base32
>            "0r41qjz3104h5raiwlw5ywwybafbxdjz12j1bnq3kq60jlr6d2pf")))))
>
>and then
>
>guix package -f enchant.scm
>
>I succefully install enchant, with the same version and name.
>
>Then happily enjoying my wit to circumvent this issue until more proper
>fixing takes place, I try to do a package upgrade again 'guix package
>-u'
>
>but as a knowingly reader might predict, it just tries to build again
>the enchant definition on guix repos. No matter that the package have
>the same version and name, the package has another hash, another place
>on the store, it's just a different input for the packages that use
>enchant. So my hacky solution it's a no-solution that poped up in my
>mind because habits from a non functional world die hard... but they
>will... eventually.
>
>So the questions are:
>
>* How do I patch a package definition when I find a bug?
>
>* Do I have to use guixsd or guix from source? (I'm currently using a
>  guix binary installation on a foreign distro)
>
>* I know that I can define a package with modifications. Say, modify
>  emacs to display mario bros on background.. cuz... that would be
>  really usefull.  But how to modify a package definition that it's not
> a leaf in the dependency graph? I never installed enchant, it's just a
>  dependency. Say I find a bug or want to mess around with some lib and
> break things for fun. Just to break it, travel back in time with guix,
>  and break it again in just another way. Do I have to redefine all the
>  packages that use that dependency or there is an automatic way to do
>  it?
>
>(*) I was suffering from the same problem in this thread
>    https://www.mail-archive.com/help-guix@gnu.org/msg04879.html
>   and tried Ludovic suggestion. Maybe I remove more links that Ludovic
>    suggests, but after some manual tinkering it just works.
>
>(**) How does guix download calculates the hash? if I do a
>     $sha256sum tarball.tar.gz it outputs other hash.
>
>Thanks in advance!
>COD.

Sorry I'm too tired to answer properly. Their is a section about contributing in the manual. Have you read that?

As a workaround, you can try guix package -u --with-source=enchant=`guix download …` where … is the url of the sources you want to use. Iirc, it applies to dependencies recursively.

Good night, and good luck :)

  reply	other threads:[~2019-09-22 21:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-22 19:22 enchant hash, fail to upgrade Catriel
2019-09-22 21:30 ` Julien Lepiller [this message]
2019-09-22 22:38   ` Catriel
2019-09-23 10:11     ` Julien Lepiller
2019-09-23 16:09       ` Tobias Geerinckx-Rice
2019-09-24 18:44         ` Catriel Omar D'Elía
2019-09-24 19:25           ` Tobias Geerinckx-Rice
2019-09-24 15:32       ` Catriel Omar D'Elía
2019-09-24 16:19 ` Ludovic Courtès
2019-09-24 19:18   ` Catriel Omar D'Elía
2019-09-24 19:51     ` Tobias Geerinckx-Rice
2019-09-25 17:43       ` Catriel Omar D'Elía

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DD86A0A8-5BE1-4D55-AA7E-28ED96BAA50E@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=cdelia@dc.uba.ar \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).