GNU bug report logs - #31085
Unexpected behaviour when running `guix build lilypond'

Previous Next

Package: guix;

Reported by: Diego Nicola Barbato <dnbarbato <at> posteo.de>

Date: Fri, 6 Apr 2018 20:23:02 UTC

Severity: normal

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

Full log


Message #8 received at 31085 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Diego Nicola Barbato <dnbarbato <at> posteo.de>
Cc: 31085 <at> debbugs.gnu.org
Subject: Re: bug#31085: Unexpected behaviour when running `guix build lilypond'
Date: Thu, 19 Apr 2018 17:38:07 +0200
Hello,

Diego Nicola Barbato <dnbarbato <at> posteo.de> skribis:

> I have experienced some unexpected behaviour when running `guix build
> lilypond':
> After verifying that there was a substitute available with `guix weather
> -m m.scm' (Where m.scm evaluates to a manifest containing only lilypond)
> I ran `guix build lilypond --dry-run' which claimed that a substitute
> would be downloaded.  I then ran `guix build lilypond' which proceeded
> to build lilypond from source (instead of downloading the substitute).
>
> Upon explaining this on IRC it was suggested that I try running `guix
> build --no-grafts lilypond' (which actually downloaded the substitute)
> then deleting the locally built lilypond with `guix gc --delete
> /gnu/store/...' and finally running `guix build lilypond' again (which,
> this time, grafted the substituted lilypond instead of building it from
> source again).  While this fixed the issue I was told that this
> behaviour was indeed unexpected.

We’d have to see if this is still reproducible, but I have a plausible
explanation.

Substitute info is cached locally.  guix-daemon caches it under
/var/guix/substitute/cache, but ‘guix weather’ caches it under
~/.cache/guix/substitute (that’s because it needs fine-grain control
over substitute info and thus cannot simply use the
‘substitutable-path-info’ daemon RPC.)  Each cached entry has a
time-to-live (TTL).

What could have happened is that /var/guix/substitute/ had a
not-expired-yet entry saying that there’s no substitute for LilyPond
(which is why ‘guix build’ ended up building from source), whereas ‘guix
weather’ was run at a point when there was a substitute.

If that happens again, I’d suggest capturing immediately the two cached
entries so we can see whether this explanation holds.

Thanks,
Ludo’.




This bug report was last modified 7 years and 34 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.