
On 4/12/16 11:54 AM, Tomas Carnecky wrote:
ncurses is the only library.
Not sure how I managed to configure the crosscompiler to produce static binaries, maybe it was an option which I had to pass to GHC. In any case, here's a docker image which includes instructions how I build the cross compiler: https://github.com/wereHamster/onion-omega/tree/master/xt, and here's a docker image which builds on top of that to compile a cross-compiling GHC: https://github.com/wereHamster/onion-omega/tree/master/ghc.
Thanks for all your help! I now have my ghc cross-compiler working, and I can run simple programs on the OpenWRT box! However, in order to build nontrivial programs, I need cabal. The GHC cross-compiling page ( https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling ) recommends: cabal --with-ghc=<cross-ghc> --with-ld=<ld> ... So I expanded this approach to: alias mcabal="cabal --with-ghc=x86_64-unknown-linux-musl-ghc --with-ld=x86_64-unknown-linux-musl-ld --with-gcc=x86_64-unknown-linux-musl-gcc --with-ghc-pkg=x86_64-unknown-linux-musl-ghc-pkg --disable-executable-dynamic" Am I on the right track with that approach? I'm able to install some packages with mcabal. (For example, "mcabal install hourglass".) But with cryptonite, I get: ppelletier@patrick64:~/src/lifx/lifx-programs$ mcabal install --flags=-integer-gmp cryptonite Resolving dependencies... Configuring memory-0.12... Building memory-0.12... Preprocessing library memory-0.12... running dist/dist-sandbox-5f352b7e/build/Data/Memory/MemMap/Posix_hsc_make failed (exit code 127) command was: dist/dist-sandbox-5f352b7e/build/Data/Memory/MemMap/Posix_hsc_make
dist/dist-sandbox-5f352b7e/build/Data/Memory/MemMap/Posix.hs Failed to install memory-0.12 cabal: Error: some packages failed to install: cryptonite-0.15 depends on memory-0.12 which failed to install. memory-0.12 failed during the building phase. The exception was: ExitFailure 1
I haven't been able to figure out exactly what's going on there. Or, "mcabal install aeson" fails with: Building aeson-0.11.1.4... Preprocessing library aeson-0.11.1.4... ghc: Data/Aeson/TH.hs:9:14-28: Template Haskell requires GHC with interpreter support Perhaps you are using a stage-1 compiler? Usage: For basic information, try the `--help' option. Failed to install aeson-0.11.1.4 cabal: Error: some packages failed to install: aeson-0.11.1.4 failed during the building phase. The exception was: ExitFailure 1 Is there a way to get Template Haskell to work? Or is that just impossible? (And therefore, cross-compiling is impossible for many of the packages on Hackage?) Is this a sign that I should have taken Lana's suggestion to use Marios's approach instead? --Patrick