Trying to compile GHC 7.8.3 for ubuntu/arm. Was in Stage 1 for 8 hours before exiting with following message:
dll-split: internal error: evacuate(static): strange closure type 0 (GHC version 7.8.3 for arm_unknown_linux) Please report this as a GHC bug: http://www.haskell.org/ghc/reportabugmake[1]: *** [compiler/stage2/dll-split.stamp] Aborted (core dumped)make: *** [all] Error 2
Edited
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
===--- building phase 0make -r --no-print-directory -f ghc.mk phase=0 phase_0_buildsmake[1]: Nothing to be done for 'phase_0_builds'.===--- building phase 1make -r --no-print-directory -f ghc.mk phase=1 phase_1_buildsutils/unlit/ghc.mk:19: utils/unlit/dist/build/.depend.c_asm: No such file or directoryutils/hp2ps/ghc.mk:25: utils/hp2ps/dist/build/.depend.c_asm: No such file or directoryutils/genapply/ghc.mk:27: utils/genapply/dist/build/.depend.haskell: No such file or directoryutils/genapply/ghc.mk:27: utils/genapply/dist/build/.depend.c_asm: No such file or directorylibraries/hpc/ghc.mk:3: libraries/hpc/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/hpc/ghc.mk:3: libraries/hpc/dist-boot/build/.depend-v.c_asm: No such file or directorylibraries/Cabal/Cabal/ghc.mk:3: libraries/Cabal/Cabal/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/Cabal/Cabal/ghc.mk:3: libraries/Cabal/Cabal/dist-boot/build/.depend-v.c_asm: No such file or directorylibraries/bin-package-db/ghc.mk:3: libraries/bin-package-db/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/bin-package-db/ghc.mk:3: libraries/bin-package-db/dist-boot/build/.depend-v.c_asm: No such file or directorylibraries/hoopl/ghc.mk:3: libraries/hoopl/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/hoopl/ghc.mk:3: libraries/hoopl/dist-boot/build/.depend-v.c_asm: No such file or directorylibraries/transformers/ghc.mk:3: libraries/transformers/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/transformers/ghc.mk:3: libraries/transformers/dist-boot/build/.depend-v.c_asm: No such file or directorylibraries/terminfo/ghc.mk:3: libraries/terminfo/dist-boot/build/.depend-v.haskell: No such file or directorylibraries/terminfo/ghc.mk:3: libraries/terminfo/dist-boot/build/.depend-v.c_asm: No such file or directorycompiler/ghc.mk:645: compiler/stage1/build/.depend-v.haskell: No such file or directoryinplace/bin/deriveConstants --gen-header -o includes/dist-derivedconstants/header/DerivedConstants.h --tmpdir includes/dist-derivedconstants/header/ --gcc-program "/usr/bin/gcc" --gcc-flag -fno-stack-protector --gcc-flag -Iincludes --gcc-flag -Iincludes/dist --gcc-flag -Iincludes/dist-derivedconstants/header --gcc-flag -Iincludes/dist-ghcconstants/header --gcc-flag -Irts --gcc-flag -fcommon --nm-program "/usr/bin/nm"In file included from includes/Stg.h:272:0, from includes/Rts.h:30, from includes/dist-derivedconstants/header/tmp.c:13:includes/stg/SMP.h: In function ‘store_load_barrier’:includes/stg/SMP.h:338:2: error: #error memory barriers unimplemented on this architectureincludes/stg/SMP.h: In function ‘load_load_barrier’:includes/stg/SMP.h:358:2: error: #error memory barriers unimplemented on this architectureExecuting "/usr/bin/gcc" failedincludes/ghc.mk:167: recipe for target 'includes/dist-derivedconstants/header/DerivedConstants.h' failedmake[1]: *** [includes/dist-derivedconstants/header/DerivedConstants.h] Error 1Makefile:64: recipe for target 'all' failedmake: *** [all] Error 2
Thanks for testing. Hmm, how odd. This happens before dll-split gets build, so it seems that it must be due to an unrelated change in HEAD; but I can't find what that change could be.
Hopefully the LLVM mangler patch will be backported to 7.8 soon, and then you can try with that.
The patch for #9439 (closed) isn't on the ghc-7.8 branch yet, but it seems to apply cleanly, so you can try making a clone of ghc-7.8, git cherry-pick 5895f2b8ffba72a8393e9f712461e6e5ed7ceced and then build as usual.