Subject: bug#29774: closed (Re: bug#29774: Compilation error on git master: `gzip: unbound variable`)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 22 Jan 2019 22:20:02 +0000

Your bug report

#29774: Compilation error on git master: `gzip: unbound variable`

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29774: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29774
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29774: Compilation error on git master: `gzip: unbound variable`
From: Ludovic Courtès <[email-masked]>
To: Mark H Weaver <[email-masked]>
Cc: [email-masked]
Date: Tue, 22 Jan 2019 23:19:19 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Mark,

Mark H Weaver <[email-masked]> 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 _ _ #<procedure 2701760 at ice-9/eval.scm:330:13 ()>)
>     142:2 18 (dynamic-wind _ _ #<procedure 27013e0 at ice-9/eval.scm:330:13 ()>)
> In ice-9/eval.scm:
>     619:8 17 (_ #(#(#<directory (guix build compile) 21988c0> #<variable 252b550 value: 674> #<procedure 26fe3c0 at ice-9/eval.scm:339:13 (a b c)> 1 # …)))
>     619:8 16 (_ #(#(#(#(#(#(#(#<directory (guix build compile) 21988c0> ("guix/scripts/pack.scm" "guix/scripts/pull.scm" "guix/scri…" …) …)) …) …) …) …) …))
> 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 #<procedure 60f7000 at ice-9/boot-9.scm:2983:17 ()>)
>   3002:22 10 (_)
> In unknown file:
>            9 (primitive-load-path "guix/scripts/pack" #<procedure 69e5f60 at ice-9/boot-9.scm:2989:32 ()>)
> In ice-9/eval.scm:
>    626:19  8 (_ #<directory (guix scripts pack) 7891960>)
>    173:39  7 (_ #<directory (guix scripts pack) 7891960>)
>    202:51  6 (_ #<directory (guix scripts pack) 7891960>)
>    202:35  5 (_ #<directory (guix scripts pack) 7891960>)
>     155:9  4 (_ #<directory (guix scripts pack) 7891960>)
>    202:35  3 (_ #<directory (guix scripts pack) 7891960>)
>     159:9  2 (_ #<directory (guix scripts pack) 7891960>)
>    223:20  1 (proc #<directory (guix scripts pack) 7891960>)
> In unknown file:
>            0 (%resolve-variable (7 . gzip) #<directory (guix scripts pack) 7891960>)
>
> ERROR: In procedure %resolve-variable:
> gzip: unbound variable

I was able to reproduce it on this ‘reproduce-bug-29774’ branch, and
also by just cherry-picking the detect-duplicate-field-initializer patch
on top of ‘master’.

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 ‘%load-verbosely’ is what helped me find
out…)

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’.

Subject: Compilation error on git master: `gzip: unbound variable`
From: <[email-masked]>
To: "bug-guix" <[email-masked]>
Date: Tue, 19 Dec 2017 20:10:07 +0000 (GMT)
List-Id: <debbugs-submit.debbugs.gnu.org>

Architecture: x86_64

RAM: 4GB

Filesystem: EXT4

Guile version: 2.0.11

Guile-Git (Guile module) was manually compiled and installed by me from
https://gitlab.com/guile-git/guile-git

Operating system: Slackware 14.2

`uname -a` output: Linux slack 4.4.88 #2 SMP Thu Sep 14 14:21:06 CDT 2017
x86_64 Intel(R) Core(TM) i3 CPU M 330 @ 2.13GHz GenuineIntel GNU/Linux

Compilation failure when running `make` (after running `./bootstrap` and
`./configure`) in latest git master and in latest source release tarball:
'In procedure memoize-variable-access!: gzip: unbound variable'

Full output (error is at line 172): http://paste.debian.net/1001510

My IRC username on freenode is pkill9, I am often in the #guix room on
freenode.

IRC chatlog for reference:

  2017-12-19 16:39:05 pkill9 I'm getting an error while compiling Guix,
  It
  says 'In procedure memoize-variable-access!: gzip: unbound variable'.
  Full output here: https://pastebin.com/wiNSZvXT
  2017-12-19 16:39:15 pkill9 anyone know what this means?
  2017-12-19 16:40:15 civodul pkill9: this was reported a couple of
  times
  before and i think it's been fixed (?)
  2017-12-19 16:40:26 pkill9 oh interesting
  2017-12-19 16:40:38 civodul can you paste to another site BTW, like
  paste.debian.net, which allows Tor users to access it
  2017-12-19 16:40:42 pkill9 ok
  2017-12-19 16:42:37 pkill9 http://paste.debian.net/1001510/
  2017-12-19 16:43:09 pkill9 I downloaded the source from the Guix
  downlaod
  page
  2017-12-19 16:46:24 pkill9 civodul: has the fix been added to the
  source
  downloadable from the download page?
  2017-12-19 16:46:51 pkill9 as in on this page
  https://www.gnu.org/software/guix/download/
  2017-12-19 16:47:03 pkill9 under 'GNU Guix 0.14.0 Source'
  2017-12-19 16:47:09 pkill9 in the tarball
  2017-12-19 16:47:28 pkill9 or is it very new and not yet been added
  to
  that?
  2017-12-19 16:51:18 bavier pkill9: iirc it was a more recent fix
  2017-12-19 17:02:20 civodul yes, it's in master i think
  2017-12-19 17:02:47 civodul though i still can't remember what that
  was,
  which is kinda annoying
  2017-12-19 18:57:21 lfam pkill9: From commit
  9a56cf2b5b4970843c215091ea9823a67e077310, the error is not
  reproduced.
  2017-12-19 19:08:54 pkill9 hmm i tried compiling with that commit
  (downloaded the tar.gz from
  https://git.savannah.gnu.org/cgit/guix.git/commit/?id=9a56cf2b5b4970843c215091ea9823a67e077310)
  and i still get that error
  2017-12-19 19:14:24 lfam pkill9: What is `guix --version`?
  2017-12-19 19:14:51 pkill9 i don't have it installed, that's why i'm
  compiling it
  2017-12-19 19:15:19 lfam How are you providing the dependencies?
  2017-12-19 19:15:39 pkill9 oh, slackware
  2017-12-19 19:16:03 lfam Okay, and what is the CPU architecture, how
  much
  RAM is there, what filesystem are you compiling on, any other details
  that might be relevant?
  2017-12-19 19:16:11 lfam Also the kernel version
  2017-12-19 19:17:18 pkill9 x86_64, about 4GB ram, EXT4 filesystem,
  kernel
  4.4.88
  2017-12-19 19:18:28 lfam pkill9: Okay, that all sounds good. What
  version
  of Guile are you using?
  2017-12-19 19:18:42 pkill9 2.0.11
  2017-12-19 19:20:05 lfam Okay, sounds like this should all work. If
  you
  don't get any other answer here, please compile all this information
  into
  a bug report and send it to <[email-masked]>, first searching for
  previous reports of
  this issue