Stefan, Aha. I already mentioned that... http://hackage.haskell.org/trac/ghc/ticket/7759 ...needs to be applied to base, but there is another one that I missed. This patch also needs to be applied to utils/hsc2hs: http://hackage.haskell.org/trac/ghc/ticket/7760 Warning: I've just checked some new stuff into master-merge-ios that is merged with the latest mainline. I tested it before I merged, so it is possible that the merge has introduced some breakage. You could help me by testing it. I'm now very close to finishing getting this all integrated into mainline GHC. Steve On 26/03/13 06:30, Stefan Kersten wrote:
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... | patch -p1 )
$( cd libraries/Cabal && git remote add lukes git@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/libra ries/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/bu ild' '--l flag=-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/s tage2/bui ld/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]
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@haskell.org http://www.haskell.org/mailman/listinfo/iphone
_______________________________________________ iPhone mailing list iPhone@haskell.org http://www.haskell.org/mailman/listinfo/iphone