[Haskell-iPhone] build troubles with ghc-ios

Stefan Kersten sk at k-hornz.de
Mon Mar 25 18:30:37 CET 2013


hi stephen,

thanks for your reply. i've tried again with your instructions, here's a transcript of what i did:

git clone git://github.com/ghc-ios/ghc.git ghc-ios
cd ghc-ios
git checkout --track origin/master-merge-ios

Point remote origin to http://darcs.haskell.org/ghc.git

Edit packages and add haskeline (otherwise perl boot complains):

diff --git a/packages b/packages
-libraries/haskeline             -           -
+libraries/haskeline             -           packages/haskeline.git

./sync-all --no-dph get

Patch libraries/base

$( cd libraries/base && curl http://hackage.haskell.org/trac/ghc/raw-attachment/ticket/7759/ios-patch-14a-libraries-base.patch | patch -p1 )

$( cd libraries/Cabal && git remote add lukes git at github.com:ghc-ios/packages-Cabal.git && git pull lukes master )

export PATH=$PWD/arm-apple-darwin10-bin:$PATH
perl boot

configure && make

now i get C compiler errors like the following:

"inplace/bin/hsc2hs" --cc=/Users/sk/dev/haskell/ghc-ios/arm-apple-darwin10-bin/arm-apple-darwin10-gcc --ld=/Users/sk/dev/haskell/ghc-ios/arm-apple-darwin10-bin/arm-apple-darwin10-gcc  --cross-safe  --cflag=-fno-stack-protector   --cross-compile --cflag=-Darm_HOST_ARCH=1 --cflag=-Dios_HOST_OS=1 --cflag=-D__GLASGOW_HASKELL__=707 '--cflag=-fno-stack-protector' '--cflag=-Icompiler/stage2' '--cflag=-Icompiler/.' '--cflag=-Icompiler/parser' '--cflag=-Icompiler/utils' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/process/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/directory/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/unix/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/time/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/containers/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/bytestring/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/array/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/libraries/base/include' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/rts/dist/build' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/includes' '--cflag=-I/Users/sk/dev/haskell/ghc-ios/includes/dist-derivedconstants/header' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/transformers/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/hpc/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/hoopl/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/bin-package-db/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/binary/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/Cabal/Cabal/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/process/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/pretty/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/directory/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/unix/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/time/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/old-locale/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/filepath/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/containers/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/bytestring/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/deepseq/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/array/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/base/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/integer-simple/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/libraries/ghc-prim/dist-install/build' '--lflag=-L/Users/sk/dev/haskell/ghc-ios/rts/dist/build' '--lflag=-ldl' '--lflag=-liconv' '--lflag=-lm' '--lflag=-ldl' --cflag=-Icompiler/stage2/build/autogen --cflag=-include --cflag=compiler/stage2/build/autogen/cabal_macros.h   compiler/utils/Fingerprint.hsc -o compiler/stage2/build/Fingerprint.hs
cc1: error: unrecognized command line option "-m64"

editing mk/config.mk and removing the -m64 flags helps a little but then compilation fails again with Fingerprint.hs.

any ideas what's going wrong?

this is on osx 10.8.3 with xcode 4.6.1 and ghc 7.6.2 (64 bit).

thanks,
sk

On 24 Mar 2013, at 23:15, Stephen Blackheath [to GHC-iPhone] <likeliest.complexions.stephen at blacksapphire.com> wrote:
> Stefan,
> 
> The master-merge-ios branch is much newer than the ghc-ios branch and works very well. There are some small changes required to base and to cabal. This contains what I am trying to get checked in to GHC mainline. I have to improve some of it, but it all works.
> 
> Here is what is going to be the instructions for building from mainline, except that it doesn't quite work yet.
> 
> Take a look at http://hackage.haskell.org/trac/ghc/wiki/Building/CrossCompiling/iOS
> 
> I'd recommend you do this:
> 
> 1. Checkout the master-merge-ios branch, then point your git repo at the main branch. Run perl boot and ./sync-all get
> 
> 2. Apply this patch to base: http://hackage.haskell.org/trac/ghc/ticket/7759
> 
> 3. Follow the instructions I gave in Building/CrossCompiling/iOS (the link above) to do with Cabal.
> 
> Then follow the rest of the instructions on how to build it. For convenience, the needed arm-apple-darwin10-* scripts are in a directory called arm-apple-darwin10/ in the master-merge-ios branch.
> 
> 
> Steve
> 
> On 25/03/13 05:35, Stefan Kersten wrote:
>> hi all,
>> 
>> i'm having a hard time building ghc from the ghc-ios ios branch. i am using the script that has been posted recently on this list for checking out the correct versions of library packages [1]. below is the error i get for rts/PrimOps.cmm (libraries/ghc-prim/GHC/Generics.hs fails with a similar error); this is on osx 10.8.3 with xcode 4.6.1. i've tried compiling with ghc 7.4.1 and 7.4.2, both built for i386 and x86_64, respectively. does this look familiar to anybody?
>> 
>> thanks,
>> sk
>> 
>> [1] https://github.com/pjones/ghc-ios-util/blob/master/ghc/checkout.sh
>> 
>> "inplace/bin/ghc-stage1"   -H64m -O2 -Iincludes -Iincludes/dist -Iincludes/dist-derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -Irts/dist/build -DCOMPILING_RTS -package-name rts  -dcmm-lint      -i -irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build -Irts/dist/build/autogen            -optc-O2    -c rts/PrimOps.cmm -o rts/dist/build/PrimOps.o
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3966:0:
>>    bad immediate value for offset (6012)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3960:0:
>>    bad immediate value for offset (5992)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3926:0:
>>    bad immediate value for offset (5920)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3920:0:
>>    bad immediate value for offset (5900)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3899:0:
>>    bad immediate value for offset (5828)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3886:0:
>>    bad immediate value for offset (5788)
>> 
>> /var/folders/qh/jdhbtx3x10jfrs0yq3qrfdx00000gn/T/ghc40705_0/ghc40705_0.s:3860:0:
>>    bad immediate value for offset (5700)
>> 
>> 
>> 
>> _______________________________________________
>> iPhone mailing list
>> iPhone at haskell.org
>> http://www.haskell.org/mailman/listinfo/iphone
>> 
> 
> _______________________________________________
> iPhone mailing list
> iPhone at haskell.org
> http://www.haskell.org/mailman/listinfo/iphone




More information about the iPhone mailing list