Ich versuche GHC 7.6.3 auf dem Raspberry Pi zu kompilieren. Die Version 7.4 von GHC, die mit Raspbian ausgeliefert wird, unterstützt ghci nicht. Ich beabsichtige, v 7.6.3 zu packen und verfügbar zu machen.Kompilieren von Haskell auf dem Raspberry Pi
Nach einer looong Zeit, bekomme ich diesen Fehler auf dem Pi:
HC [stage 0] utils/hp2ps/dist/build/Key.o
HC [stage 0] utils/hp2ps/dist/build/PsFile.o
HC [stage 0] utils/hp2ps/dist/build/Shade.o
HC [stage 0] utils/hp2ps/dist/build/Utilities.o
"inplace/bin/mkdirhier" utils/hp2ps/dist/build/tmp//.
HC [stage 0] utils/hp2ps/dist/build/tmp/hp2ps
Warning: -rtsopts and -with-rtsopts have no effect with -no-hs-main.
Call hs_init_ghc() from your main() function to set these options.
"cp" -p utils/hp2ps/dist/build/tmp/hp2ps inplace/bin/hp2ps
cp driver/ghc-usage.txt inplace/lib/ghc-usage.txt
cp driver/ghci-usage.txt inplace/lib/ghci-usage.txt
HC [stage 0] utils/genapply/dist/build/GenApply.o
"inplace/bin/mkdirhier" utils/genapply/dist/build/tmp//.
HC [stage 0] utils/genapply/dist/build/tmp/genapply
"cp" -p utils/genapply/dist/build/tmp/genapply inplace/bin/genapply
HC [stage 1] libraries/ghc-prim/dist-install/build/GHC/Types.o
Stack dump:
0. Program arguments: /usr/bin/llc -O3 -relocation-model=static /tmp/ghc467_0/ghc467_0.bc -o /tmp/ghc467_0/ghc467_0.lm_s --enable-tbaa=true
1. Running pass 'Function Pass Manager' on module '/tmp/ghc467_0/ghc467_0.bc'.
2. Running pass 'ARM Instruction Selection' on function '@ghczmprim_GHCziTypes_Dzh_info'
/tmp/ghc467_0/ghc467_0.lm_s: openBinaryFile: does not exist (No such file or directory)
make[1]: *** [libraries/ghc-prim/dist-install/build/GHC/Types.o] Error 1
make: *** [all] Error 2
real 308m59.437s
user 292m8.320s
sys 10m18.220s
Jede Idee, was falsch läuft?
Wie kann ich am Ende mit fehlenden Zwischendateien, die vom Build-System produziert werden?
Sieht aus wie ein Fehler irgendwo in der Build-Tool-Kette. Vielleicht besser einen Cross-Compiler auf einem x86-System versuchen. Der Cross Compiler ist eine schwache Verbindung (sehr wahrscheinlich, einige Fehler zu entlarven), aber zumindest die anderen Werkzeuge sind dann ziemlich gut getestet. Sehen Sie hier für Anweisungen (Kreuz von x86 Linux zu Raspberry Linux scheint ziemlich gut unterstützt werden): http://ghc.haskell.org/trac/ghc/wiki/CrossCompilation –
Debian bietet [GHC 7.6.3 auf Arm] (http : //packages.debian.org/sid/ghc), also sollten Sie sich die ARM-bezogene [Patched] (http://patch-tracker.debian.org/package/ghc/7.6.3-3) ansehen) angewendet von Debian. –
Danke Jungs. Eigentlich habe ich versucht, vorübergehend zum sid-Repository zu wechseln, um ghc zu installieren, aber das endete in einem Albtraum mit Abhängigkeiten (es bestand darauf, meine libc zu aktualisieren). Also habe ich beschlossen, es selbst zu kompilieren. –