From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: bug#38226: guix pull: error: build failed: [...] ice-9/boot-9.scm:109:20: Syntax error: Date: Mon, 18 Nov 2019 17:44:43 +0100 Message-ID: References: <20191116032658.42f4533d.kmx@posteo.net> <87eey6jjds.fsf@gnu.org> <87zhgtgno6.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:50436) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iWkA7-00025K-FV for bug-guix@gnu.org; Mon, 18 Nov 2019 11:46:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iWkA6-0000jO-51 for bug-guix@gnu.org; Mon, 18 Nov 2019 11:46:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:37322) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iWkA5-0000jG-Uo for bug-guix@gnu.org; Mon, 18 Nov 2019 11:46:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iWkA5-00059Z-Qp for bug-guix@gnu.org; Mon, 18 Nov 2019 11:46:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87zhgtgno6.fsf@gnu.org> 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: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 38226@debbugs.gnu.org, Kai Mertens Hi Ludo, On Mon, 18 Nov 2019 at 17:22, Ludovic Court=C3=A8s wrote: > zimoun skribis: > > On Sun, 17 Nov 2019 at 22:15, Ludovic Court=C3=A8s wrote= : > >> The only thing that=E2=80=99s missing here is that currently =E2=80=9C= guix build > >> /gnu/store/=E2=80=A6.drv=E2=80=9D fails if the .drv doesn=E2=80=99t al= ready exist, which is why > >> the trick above resorts to a lower-level mechanism. > > > > I miss how to fetch this missing .drv. :-) > > > > For example this evaluation built a recent enough Guix, right? > > > > $ wget -q -O - 'http://ci.guix.gnu.org/build/1943556' | jq '."derivatio= n"' > > > > > > outputs the derivation file. But how do you fetch it? > > You don=E2=80=99t explicitly fetch it. Instead, you run =E2=80=9Cguix bu= ild /=E2=80=A6.drv=E2=80=9D, > and the daemon automatically attempts to substitute it if it=E2=80=99s no= t > available in your store (note that you need commit > 9c9982dc0c8c38ce3821b154b7e92509c1564317.) I do not have when I tested. The commit is from yesterday evening. ;-) (that's a real rolling release :-D) But if you have this commit, you do not need the dance that you described to "guix pull" with a very very old Guix version -- say before the 0.15 overhaul. > Now, I noticed that it doesn=E2=80=99t work so well when =E2=80=98guix pu= blish --cache=E2=80=99 > is used, as is the case on berlin. The reason is that the daemon will > query substitutes one by one: guix-xyz.drv, then guix-xyz-builder, and > so on. And because of the =E2=80=98--cache=E2=80=99 behavior, they=E2=80= =99ll all have to be > baked separately. --8<---------------cut here---------------start------------->8--- $ guix build "/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.d= rv" substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0% cannot build missing derivation =E2=80=98/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv=E2= =80=99 guix build: error: build of `/gnu/store/bz1qqy225p1jlicwf07iiqr79icqddcv-guix-4de11dda7.drv' failed $ guix describe Generation 55 Nov 18 2019 13:21:24 (current) guix 900ef20 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 900ef20b1da66ad71145082c883dc12f31fafa54 --8<---------------cut here---------------end--------------->8--- > >> Perhaps =E2=80=98guix pull=E2=80=99 should have a =E2=80=98--rescue=E2= =80=99 option to do the trick > >> above? > > > > Is it possible? > > We need to track on Cuirass one recent enough derivation of Guix for > > each architecture, right? > > Yeah well, that needs more thought. :-) I am not sure to clearly understand what we are talking about. :-) All the best, simon