22.11.598.2d10e73416e (Raccoon)
So, I’ve been playing a bit with Haskell cross compilation on Nix since I’d like to target the RPi 3.
As a start, I’ve only tried:
nix-build \
-E '(import <nixpkgs> {}).pkgsCross.raspberryPi.haskellPackages.hello'
I’ve tried building several packages thus far.
It seems that every time I do, the build finally (after several minutes on a powerful setup) stops with
make: *** [Makefile:128: all] Error 2
error: builder for '/nix/store/cnclwhldzwhg7ns705n981m3p4bgy9kd-armv6l-unknown-linux-gnueabihf-ghc-9.0.2.drv' failed with exit code 2;
last 10 log lines:
> make[1]: *** Waiting for unfinished jobs....
> <<ghc: 2940610848 bytes, 140 GCs, 21780236/73628784 avg/max bytes residency (7 samples), 155M in use, 0.000 INIT (0.000 elapsed), 1.410 MUT (5.387 elapsed), 0.619 GC (0.619 elapsed) :ghc>>
> <<ghc: 998376256 bytes, 69 GCs, 21060180/61663088 avg/max bytes residency (6 samples), 133M in use, 0.000 INIT (0.000 elapsed), 0.607 MUT (2.924 elapsed), 0.493 GC (0.495 elapsed) :ghc>>
> <<ghc: 8086654016 bytes, 596 GCs, 28987734/59064072 avg/max bytes residency (11 samples), 163M in use, 0.000 INIT (0.000 elapsed), 3.950 MUT (18.648 elapsed), 1.890 GC (1.893 elapsed) :ghc>>
> <<ghc: 2030551904 bytes, 102 GCs, 21090424/70561856 avg/max bytes residency (7 samples), 150M in use, 0.000 INIT (0.000 elapsed), 1.240 MUT (4.066 elapsed), 0.657 GC (0.657 elapsed) :ghc>>
> <<ghc: 5098455648 bytes, 369 GCs, 35513670/75742528 avg/max bytes residency (10 samples), 209M in use, 0.000 INIT (0.000 elapsed), 2.538 MUT (8.835 elapsed), 1.823 GC (1.828 elapsed) :ghc>>
> <<ghc: 5610203480 bytes, 256 GCs, 29059053/88485624 avg/max bytes residency (8 samples), 206M in use, 0.000 INIT (0.000 elapsed), 3.070 MUT (10.614 elapsed), 1.659 GC (1.660 elapsed) :ghc>>
> <<ghc: 11136763832 bytes, 365 GCs, 55362360/107386712 avg/max bytes residency (13 samples), 298M in use, 0.000 INIT (0.000 elapsed), 5.593 MUT (20.099 elapsed), 2.829 GC (2.830 elapsed) :ghc>>
> <<ghc: 85529887200 bytes, 3645 GCs, 216536361/396925752 avg/max bytes residency (54 samples), 1075M in use, 0.000 INIT (0.001 elapsed), 36.005 MUT (180.285 elapsed), 43.307 GC (43.401 elapsed) :ghc>>
> make: *** [Makefile:128: all] Error 2
I’d say this is the simplest cross compilation example I could find for Haskell.
Am I doing something wrong?
EDIT:
I can confirm the same works with
homepage: https://github.com/NixOS/nixpkgs
url: https://github.com/NixOS/nixpkgs-channels/archive/4b6bfecc0bd.tar.gz
owner: NixOS
sha256: 0wi8641v4345jcqk7myq3dknczps1gbsf48q314wavl5kga8r67f
rev: 4b6bfecc0bd