From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#29774: Compilation error on git master: `gzip: unbound variable` Date: Tue, 22 Jan 2019 23:19:19 +0100 Message-ID: <87va2gibdk.fsf@gnu.org> References: <87efj65qr6.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:46777) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gm4Vh-0003C7-FZ for bug-guix@gnu.org; Tue, 22 Jan 2019 17:27:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gm4Oo-0002dY-9T for bug-guix@gnu.org; Tue, 22 Jan 2019 17:20:03 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42443) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gm4Oo-0002dN-4f for bug-guix@gnu.org; Tue, 22 Jan 2019 17:20:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gm4On-0004wc-Ry for bug-guix@gnu.org; Tue, 22 Jan 2019 17:20:01 -0500 Sender: "Debbugs-submit" Resent-To: bug-guix@gnu.org Resent-Message-ID: In-Reply-To: <87efj65qr6.fsf@netris.org> (Mark H. Weaver's message of "Mon, 23 Apr 2018 03:25:01 -0400") 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: Mark H Weaver Cc: 29774-done@debbugs.gnu.org Hi Mark, Mark H Weaver skribis: > I've run into this same problem, on my x86_64 GuixSD system. To help > others reproduce it, I've pushed a branch to Savannah, based on recent > core-updates. The branch is named 'reproduce-bug-29774'. > > When I attempt to build this branch from a clean git checkout, within an > environment produced by "guix environment guix" from recent > core-updates, it consistently fails with this error. If I simply revert > the commit at the tip of that branch (an early draft of my "Detecting > duplicate field initializers" patch), then the problem does not occur. > > I find it quite surprising that this apparently unrelated patch makes > any difference to this bug, but that seems to be the case. [...] > LOAD guix/scripts/package.scm > LOAD guix/scripts/gc.scm > LOAD guix/scripts/hash.scm > LOAD guix/scripts/pack.scm > Backtrace: > In ice-9/boot-9.scm: > 142:2 19 (dynamic-wind _ _ #) > 142:2 18 (dynamic-wind _ _ #) > In ice-9/eval.scm: > 619:8 17 (_ #(#(# # # 1= # =E2=80=A6))) > 619:8 16 (_ #(#(#(#(#(#(#(# (= "guix/scripts/pack.scm" "guix/scripts/pull.scm" "guix/scri=E2=80=A6" =E2=80= =A6) =E2=80=A6)) =E2=80=A6) =E2=80=A6) =E2=80=A6) =E2=80=A6) =E2=80=A6)) > In ice-9/boot-9.scm: > 152:2 15 (with-fluid* _ _ _) > 2788:17 14 (resolve-interface (guix scripts pack) #:select _ #:hide _ #= :prefix _ #:renamer _ #:version _) > 2714:10 13 (_ (guix scripts pack) _ _ #:ensure _) > 2982:16 12 (try-module-autoload _ _) > 2312:4 11 (save-module-excursion #) > 3002:22 10 (_) > In unknown file: > 9 (primitive-load-path "guix/scripts/pack" #) > In ice-9/eval.scm: > 626:19 8 (_ #) > 173:39 7 (_ #) > 202:51 6 (_ #) > 202:35 5 (_ #) > 155:9 4 (_ #) > 202:35 3 (_ #) > 159:9 2 (_ #) > 223:20 1 (proc #) > In unknown file: > 0 (%resolve-variable (7 . gzip) #) > > ERROR: In procedure %resolve-variable: > gzip: unbound variable I was able to reproduce it on this =E2=80=98reproduce-bug-29774=E2=80=99 br= anch, and also by just cherry-picking the detect-duplicate-field-initializer patch on top of =E2=80=98master=E2=80=99. As it turns out, build-aux/compile-all.scm was simply hiding the actual error message, which was a duplicate field initializer in (gnu packages haskell), and eventually threw that backtrace because (guix scripts pack) is the module that indirectly triggered the loading of (gnu packages haskell). (Setting =E2=80=98%load-verbosely=E2=80=99 is what help= ed me find out=E2=80=A6) Commit 1709b2e414195ae41a66d4fec37a25b1602629f7 lets those error messages through, and commit 22a894bedd62181cdd382da3f0d49aea7fcd3a1a implements duplicate field initializer detection in a way slightly different from your original patch. Thanks, Ludo=E2=80=99.