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

From: Mark H Weaver <[email-masked]>
Date: Mon, 23 Apr 2018 03:25:01 -0400

Hi,

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.

Ludovic, are you able to reproduce this problem on your system?  If
needed, I could also provide the precise derivation of the build
environment profile, but I suspect that "guix environment guix" produced
by any commit close to recent core-updates would work.

See below for the tail of my failed build log.

      Mark

--8<---------------cut here---------------start------------->8---
  LOAD     guix/scripts/archive.scm
  LOAD     guix/scripts/import.scm
  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

Some deprecated features have been used.  Set the environment
variable GUILE_WARN_DEPRECATED to "detailed" and rerun the
program to get more information.  Set it to "no" to suppress
this message.
make[2]: *** [Makefile:5344: make-go] Error 1
make[2]: Leaving directory '/home/mhw/guix'
make[1]: *** [Makefile:4456: all-recursive] Error 1
make[1]: Leaving directory '/home/mhw/guix'
make: *** [Makefile:3103: all] Error 2
--8<---------------cut here---------------end--------------->8---