--- Begin Message ---
Subject: |
guix package is not showing that the checksum is mismatching |
Date: |
Sun, 18 Nov 2018 15:04:33 +0100 |
(Note: this is on a private channel of me, but I think this is
unrelated, it could happen with any Guix package).
I updated a package-definition and forgot to update the Checksum. When
then updating, it just fails, and the new, nice, logging-reduced UI
doesn't tell:
$ guix package -u guix-tools
substitute: updating list of substitutes from 'https://berlin.guixsd.org'... 0
[..]
building
/gnu/store/vy3s1y7bv1w6d8gmp5b10xppy9skbgkd-guix-tools-0.1.0-2.4f17b79-checkout.drv...
build of
/gnu/store/vy3s1y7bv1w6d8gmp5b10xppy9skbgkd-guix-tools-0.1.0-2.4f17b79-checkout.drv
failed
View build log at
'/var/log/guix/drvs/vy/3s1y7bv1w6d8gmp5b10xppy9skbgkd-guix-tools-0.1.0-2.4f17b79-checkout.drv.bz2'.
-guix package: error: build failed: build of
`/gnu/store/iwma3gq778n32mqz6y7277g67nvx1abb-guix-tools-0.1.0-2.4f17b79.drv'
failed
The log was not very helpful:
Initialized empty Git repository in /gnu/store/s399g9f1k19v01rs992w5dl6aif87har-
From https://gitlab.com/hoebjo/guix-tools
* branch 4f17b792a3882f10ca9496b2d9aeb12b97ee93e2 -> FETCH_HEAD
Note: checking out 'FETCH_HEAD'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b <new-branch-name>
HEAD is now at 4f17b79 gdev: Add more package to environment.
environment variable `PATH' unset
Only when I explicitly built it, the error was shown:
$ guix build guix-tools
HEAD is now at 4f17b79 gdev: Add more package to environment.
environment variable `PATH' unset
output path
`/gnu/store/s399g9f1k19v01rs992w5dl6aif87har-guix-tools-0.1.0-2.4f17b79-checkout'
should have r:sha256 hash
`1j4q43hk7jrys7zsmws37g6w7babzshfdb1s5myl7qwr3mcx6hnf', instead has
`0b61q29915b4i6adidx3zixnx3m0zp58rjbfa9byqcz13szznc52'
build of
/gnu/store/vy3s1y7bv1w6d8gmp5b10xppy9skbgkd-guix-tools-0.1.0-2.4f17b79-checkout.drv
failed
View build log at
'/var/log/guix/drvs/vy/3s1y7bv1w6d8gmp5b10xppy9skbgkd-guix-tools-0.1.0-2.4f17b79-checkout.drv.bz2'.
cannot build derivation
`/gnu/store/iwma3gq778n32mqz6y7277g67nvx1abb-guix-tools-0.1.0-2.4f17b79.drv': 1
dependencies couldn't be built
guix build: error: build failed: build of
`/gnu/store/iwma3gq778n32mqz6y7277g67nvx1abb-guix-tools-0.1.0-2.4f17b79.drv'
failed
Is it intended that this build-failure detail is not shown? I suppose
not. At least in a log it should be shown.
Björn
pgpEBnUrN23ho.pgp
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#33419: guix package is not showing that the checksum is mismatching |
Date: |
Wed, 21 Nov 2018 21:18:08 +0100 |
On Mon, 19 Nov 2018 21:30:46 +0100
address@hidden (Ludovic Courtès) wrote:
> Hello,
>
> Björn Höfling <address@hidden> skribis:
> > Is it intended that this build-failure detail is not shown? I
> > suppose not. At least in a log it should be shown.
>
> I suspect you’re running an “old” guix-daemon, aren’t you?
>
> Could you try again with an up-to-date daemon (and client)? The code
> that prints hash mismatch errors when talking to recent daemons is in
> (guix status).
Indeed! Short story: After really updating the daemon/root's Guix, it
works now.
Long story:
I have a really old daemon here:
$ tail -n 2 /etc/init/guix-daemon.conf
exec /gnu/store/5drb0ijbszvy8xmps89qcav1p4vy9wqr-guix-0.11.0/bin/guix-daemon
--build-users-group=guixbuild
I have no clue how to update it correctly and it was always a mystery,
so I read in the manual how to do that nowadays:
https://guix.info/manual/en/Binary-Installation.html#Binary-Installation
and did:
$ sudo
cp /root/.guix-profile/lib/upstart/system/guix-daemon.conf
/etc/init/guix-daemon.conf
$ tail -n 2 /etc/init/guix-daemon.conf
exec /var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
--build-users-group=guixbuild
$ sudo systemctl stop guix-daemon
$ sudo systemctl start guix-daemon
$ ps -aux | grep guix
root 6995 0.1 0.0 27976 3940 ? Ss 07:30 0:00
/var/guix/profiles/per-user/root/guix-profile/bin/guix-daemon
--substitute-urls=https://berlinguixsd.org https://mirror.hydra.gnu.org
--build-users-group=guixbuild
bjoern 6998 0.0 0.0 15780 948 pts/16 S+ 07:30 0:00 grep
--color=auto guix
Now, let's introduce the wrong checksum again, pull, update:
$ guix pull
$ guix package -u guix-tools
[...]
I was about to say that it still doesn't work, until I thought maybe my
guix in ~root/.guix-profile could also be a bit old:
$ sudo guix package -I | grep guix
guix 0.13.0 out /gnu/store/vir3lrwqy50pr8fkaf3m091dgbrja2n6-guix-0.13.0
Uh, better than 0.11, but still not the newest version. But how to
get to a new one? Now, a `guix pull` for root failed with some error. So
I did a
/home/bjoern/.config/guix/current/bin/guix pull
--commit=<the-one-of-my-normal-user>
That worked, it updated guix.
After guix package -u, restarting the daemon again, I'm happy to see
the error directly on (as unpriviledged user bjoern: "guix package -u
guix-tools"):
substitute: updating substitutes from 'https://mirror.hydra.gnu.org'... 100.0%
building
/gnu/store/kx97aqz66lpibxjiw3g8k7xhz5mmniyp-guix-tools-0.1.0-3.295d0a0-checkout.drv...
r:sha256 hash mismatch for
/gnu/store/9d0djawpyjdl6jp900agmqfxrbk2vcra-guix-tools-0.1.0-3.295d0a0-checkout:
expected hash: 11111111y50jcakricz36n1n5m99fxv8gxmk9ba3g0zfsl1a0918
actual hash: 06z0jhxpy50jcakricz36n1n5m99fxv8gxmk9ba3g0zfsl1a0918
hash mismatch for store item
'/gnu/store/9d0djawpyjdl6jp900agmqfxrbk2vcra-guix-tools-0.1.0-3.295d0a0-checkout'
build of
/gnu/store/kx97aqz66lpibxjiw3g8k7xhz5mmniyp-guix-tools-0.1.0-3.295d0a0-checkout.drv
failed
Thanks, closing this bug.
Björn
pgpwLcl2li0VV.pgp
Description: OpenPGP digital signature
--- End Message ---