Cannot have GHC in ARMv6 architecture

Reid Barton rwbarton at gmail.com
Wed Sep 9 15:59:43 UTC 2015


On Wed, Sep 9, 2015 at 11:46 AM, Karel Gardas <karel.gardas at centrum.cz>
wrote:

> On 09/ 9/15 04:21 PM, jmcf125 at openmailbox.org wrote:
>
>> So ghc-stage1 is working. Good! Now just to find why your base is broken,
>>> please rebuild ghc completely and this time does not use any -j 5 option.
>>> It'll use just one core, but will stop on the first error. Let's see how
>>> far
>>> you get.
>>>
>> Ah. Alright, it took a while longer.
>>
>>   $ ./configure --target=arm-linux-gnueabihf
>> --with-gcc=arm-linux-gnueabihf-gcc-sysroot --enable-unregisterised && make
>> (...)
>> "inplace/bin/ghc-stage1" -hisuf hi -osuf  o -hcsuf hc -static  -H64m -O0
>>   -this-package-key ghcpr_8TmvWUcS1U1IKHT0levwg3 -hide-all-packages -i
>> -ilibraries/ghc-prim/. -ilibraries/ghc-prim/dist-install/build
>> -ilibraries/ghc-prim/dist-install/build/autogen
>> -Ilibraries/ghc-prim/dist-install/build
>> -Ilibraries/ghc-prim/dist-install/build/autogen -Ilibraries/ghc-prim/.
>> -optP-include
>> -optPlibraries/ghc-prim/dist-install/build/autogen/cabal_macros.h
>> -package-key rts -this-package-key ghc-prim -XHaskell2010 -O -fllvm
>> -no-user-package-db -rtsopts      -odir
>> libraries/ghc-prim/dist-install/build -hidir
>> libraries/ghc-prim/dist-install/build -stubdir
>> libraries/ghc-prim/dist-install/build   -c
>> libraries/ghc-prim/./GHC/CString.hs -o
>> libraries/ghc-prim/dist-install/build/GHC/CString.o
>> You are using a new version of LLVM that hasn't been tested yet!
>> We will try though...
>>
>
> ^ OK you can see this.
>
> opt: /tmp/ghc23881_0/ghc_1.ll:7:6: error: unexpected type in metadata
>> definition
>> !0 = metadata !{metadata !"top", i8* null}
>>       ^
>> libraries/ghc-prim/ghc.mk:4: recipe for target
>> 'libraries/ghc-prim/dist-install/build/GHC/CString.o' failed
>> make[1]: *** [libraries/ghc-prim/dist-install/build/GHC/CString.o] Error 1
>> Makefile:71: recipe for target 'all' failed
>> make: *** [all] Error 2
>>
>> This is weird, I think I'm not even using LLVM.
>>
>
> This is not weird at all! GHC does not provide ARM NCG and so it is using
> LLVM if you compile ARM registerised build.
>

But "./configure [...] --enable-unregisterised" should mean using the C
backend, not LLVM, right? So this still looks strange. Also there is an
explicit "-fllvm" on the failing ghc-stage1 command line.

What is in your build.mk? Maybe you are using one of the build flavors that
sets -fllvm explicitly?

That said you can also try installing the supported version of LLVM for ghc
7.10, which is LLVM 3.5.

Regards,
Reid Barton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150909/8e462702/attachment.html>


More information about the ghc-devs mailing list