From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#31085: Unexpected behaviour when running `guix build lilypond' Date: Thu, 19 Apr 2018 17:38:07 +0200 Message-ID: <87muxzi4v4.fsf@gnu.org> References: <873708jdao.fsf@GlaDOS.home> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45941) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f9BeL-00036d-W6 for bug-guix@gnu.org; Thu, 19 Apr 2018 11:39:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f9BeI-00061e-Q4 for bug-guix@gnu.org; Thu, 19 Apr 2018 11:39:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:53432) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f9BeI-00061W-MO for bug-guix@gnu.org; Thu, 19 Apr 2018 11:39:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1f9BeI-0003Wa-CS for bug-guix@gnu.org; Thu, 19 Apr 2018 11:39:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <873708jdao.fsf@GlaDOS.home> (Diego Nicola Barbato's message of "Fri, 06 Apr 2018 22:22:07 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Diego Nicola Barbato Cc: 31085@debbugs.gnu.org Hello, Diego Nicola Barbato 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=E2=80=99d have to see if this is still reproducible, but I have a plausi= ble explanation. Substitute info is cached locally. guix-daemon caches it under /var/guix/substitute/cache, but =E2=80=98guix weather=E2=80=99 caches it un= der ~/.cache/guix/substitute (that=E2=80=99s because it needs fine-grain control over substitute info and thus cannot simply use the =E2=80=98substitutable-path-info=E2=80=99 daemon RPC.) Each cached entry h= as a time-to-live (TTL). What could have happened is that /var/guix/substitute/ had a not-expired-yet entry saying that there=E2=80=99s no substitute for LilyPond (which is why =E2=80=98guix build=E2=80=99 ended up building from source), = whereas =E2=80=98guix weather=E2=80=99 was run at a point when there was a substitute. If that happens again, I=E2=80=99d suggest capturing immediately the two ca= ched entries so we can see whether this explanation holds. Thanks, Ludo=E2=80=99.