Subject: unzip fails to cross-compile
From: Andrew Patterson <[email-masked]>
To: [email-masked]
Date: Wed, 10 Aug 2022 18:06:35 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

unzip fails to build when cross-compiling (at least from x86_64 
linux), complaining that '%output' is unbound.  It gives identical 
errors when compiling for aarch64, riscv64, and arm. 
Interestingly, it gives the same errors when explicitly building 
for x86_64 on an x86_64 machine, even though I would expect doing 
so to compile as normal.  When not cross-compiling, unzip 
successfully builds as normal on both x86_64 and aarch64.

On my x86_64 machines, 'guix show unzip' does only have 
x86_64-linux and i686-linux in the 'systems' list, but that's also 
true of htop, which does cross-compile.  (Also, why does it do 
that?  The same command on my aarch64 machine shows many more 
system types.)

I'm working on testing if cross-compiling from aarch64 does the 
same thing, but building a cross-compilation toolchain on pinebook 
pro is very slow.

Steps to reproduce: run 'guix build unzip --target=$TARGET'

Here's the build log from 'guix build unzip 
--target=aarch64-linux-gnu':
WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete'
Backtrace:
In ice-9/eval.scm:
   217:50 19 (lp (#<procedure 7ffff4b64c00 at ice-9/eval.scm:282:?> ?))
   217:50 18 (lp (#<procedure 7ffff4b64ba0 at ice-9/eval.scm:649:?> ?))
   217:50 17 (lp (#<procedure 7ffff4b64b80 at ice-9/eval.scm:282:?> ?))
   217:50 16 (lp (#<procedure 7ffff4b64b60 at ice-9/eval.scm:282:?> ?))
   217:50 15 (lp (#<procedure 7ffff4b64b40 at ice-9/eval.scm:282:?> ?))
   217:50 14 (lp (#<procedure 7ffff4b64b20 at ice-9/eval.scm:282:?> ?))
   217:50 13 (lp (#<procedure 7ffff4b64b00 at ice-9/eval.scm:282:?> ?))
   217:50 12 (lp (#<procedure 7ffff4b64980 at ice-9/eval.scm:649:?> ?))
   217:50 11 (lp (#<procedure 7ffff4b64960 at ice-9/eval.scm:282:?> ?))
   217:50 10 (lp (#<procedure 7ffff4b64940 at ice-9/eval.scm:282:?> ?))
   217:50  9 (lp (#<procedure 7ffff4b64920 at ice-9/eval.scm:282:?> ?))
   217:50  8 (lp (#<procedure 7ffff4b648c0 at ice-9/eval.scm:649:?> ?))
   217:50  7 (lp (#<procedure 7ffff4b648a0 at ice-9/eval.scm:282:?> ?))
   217:50  6 (lp (#<procedure 7ffff4b64880 at ice-9/eval.scm:282:?> ?))
   217:50  5 (lp (#<procedure 7ffff4b64860 at ice-9/eval.scm:282:?> ?))
   217:33  4 (lp (#<procedure 7ffff5fe9480 at ice-9/eval.scm:212:?> ?))
   213:45  3 (_ #f)
   196:43  2 (_ #f)
   223:20  1 (proc #<directory (guile-user) 7ffff5fdbc80>)
In unknown file:
           0 (%resolve-variable (7 . %output) #<directory (guile-use?>)

ERROR: In procedure %resolve-variable:
Unbound variable: %output

-- 
Andrew Patterson