Subject: bug#35012: Can't install icecat

From: Björn Höfling <[email-masked]>
Date: Wed, 27 Mar 2019 00:09:41 +0100

Hi Alberto,

it should be available now from mirror.hydra.gnu.org. Some detailed
explanations follow:

On Tue, 26 Mar 2019 13:39:09 -0600
Alberto EFG <[email-masked]> wrote:

> Hello, for the last few weeks I've been unable to upgrade icecat.
> 
> I use Guix on top of Fedora 29, I've used it with selinux set to
> permissive and set to enforce. I've run guix-daemon manually and using
> systemd. Yesterday I removed Guix entirely and installed it from
> scratch.
> 

First, you can try to see if your package would be built locally or
will be downloaded from substitute servers with the "-n" == "--dry-run"
option:

$ guix package -n -u icecat

The following package would be upgraded:
   icecat	60.5.0-guix1 → 60.6.1-guix1	/gnu/store/bwhnxvfx4ng5fhc7xi6wijp8qciqjpbk-icecat-60.6.1-guix1

The following derivation would be built:
   /gnu/store/m3i38zbqb4ww4qjnw01jbj0wjxmyp0id-profile.drv
55.7 MB would be downloaded:
   /gnu/store/bwhnxvfx4ng5fhc7xi6wijp8qciqjpbk-icecat-60.6.1-guix1
The following profile hooks would be built:
[..]

In that case, it would be downloaded from substitute servers.

If it does not use the substitute, then it could either not yet be
built on the substitute servers or it could
fail to build.

As you already tried to build it locally, you could look at the log
file and see if there is anything useful in there:

> $ guix package -c 7 --upgrade icecat
[..]

> View build log at
> '/var/log/guix/drvs/jp/g44cnp64hzdi2hislnid40jdr3kkhp-rust-1.24.1.drv.bz2'.
> cannot build derivation

I searched on Hydra for icecat and found it was built only today:

https://hydra.gnu.org/job/gnu/master/icecat-60.6.1-guix1.x86_64-linux/all
3431712 	icecat-60.6.1-guix1 	x86_64-linux 	2019-03-26 14:22:53

I could successfully update from there:

guix package --substitute-urls="https://mirror.hydra.gnu.org/" -u icecat

Especially for big packages like icecat there can always be a gap
between the time when the package definition is updated and when a
substitute is built and ready to be downloaded.

Hope this helps a bit,

Björn