[Haskell-iPhone] Hey Stephen - more on cross compiling
Stephen Blackheath [to GHC-iPhone]
likeliest.complexions.stephen at blacksapphire.com
Mon Jan 14 04:51:12 CET 2013
Hi there -
This is an answer to an email of two months ago. The proper fix for this
issue:
> libraries/base/Foreign/C/Types.hs:164:405:
> Not in scope: type constructor or class `HTYPE_DOUBLE'
>
> libraries/base/Foreign/C/Types.hs:164:478:
> Not in scope: type constructor or class `HTYPE_DOUBLE'
Is this patch to libraries/base:
diff --git a/aclocal.m4 b/aclocal.m4
index 6e9801f..306bc48 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -125,9 +125,8 @@ AC_DEFUN([FPTOOLS_CHECK_HTYPE_ELSE],[
AC_MSG_CHECKING(Haskell type for $1)
AC_CACHE_VAL(AC_CV_NAME,[
AC_CV_NAME_supported=yes
- FP_COMPUTE_INT([HTYPE_IS_INTEGRAL],
- [(($1)((int)(($1)1.4))) == (($1)1.4)],
- [FPTOOLS_HTYPE_INCLUDES],[AC_CV_NAME_supported=no])
+ if test "$1" = "float" ; then HTYPE_IS_INTEGRAL=0; fi
+ if test "$1" = "double" ; then HTYPE_IS_INTEGRAL=0; fi
if test "$AC_CV_NAME_supported" = "yes"
then
if test "$HTYPE_IS_INTEGRAL" -eq 0
You might need to type this, also:
cd libraries/base
autoreconf
The original test doesn't work in cross-compiler mode.
Steve
On 20/11/12 16:33, Stephen Paul Weber wrote:
> Somebody claiming to be Stephen Paul Weber wrote:
>> Somebody claiming to be Stephen Paul Weber wrote:
>>> Somebody claiming to be Stephen Paul Weber wrote:
>>>> But it seems like maybe the configure flags are just not all being
>>>> passed through to integer-gmp, so maybe it could work as well. Not
>>>> sure what the tradeoffs are?
>>>
>>> Seems like it's not just integer-gmp that isn't being passed the
>>> configure flags:
>
> Sorry for being so noisy :) More progress (ish):
>
> I added this to rules/build-package-data.mk :
>
> $1_$2_CONFIGURE_OPTS += --configure-option=--target=i486-pc-nto-qnx8.0.0
> --configure-option=--host=i686-linux-gnu
>
> And it got much further. Then there was a hiccup in the unix library,
> but I'm pretty sure that was a QNX thing, so I patched that in what
> seemed a sensible way.
>
> Then I got a weird error about test_array not being constant in
> libraries/base/System/CPUTime.hsc, so I hacked that on line 190 to #if 0
>
> Then, maybe related to that hack, maybe not, I got:
>
> ghc-stage1: panic! (the 'impossible' happened)
> (GHC version 7.7.20121119 for i386-unknown-nto-qnx):
> expectJust initTcInteractive
>
> but on the next run that did not happen again. I now get:
>
> libraries/base/Foreign/C/Types.hs:164:405:
> Not in scope: type constructor or class `HTYPE_DOUBLE'
>
> libraries/base/Foreign/C/Types.hs:164:478:
> Not in scope: type constructor or class `HTYPE_DOUBLE'
>
> libraries/base/Foreign/C/Types.hs:164:557:
> Not in scope: type constructor or class `HTYPE_DOUBLE'
> make[1]: *** [libraries/base/dist-install/build/Foreign/C/Types.o] Error 1
> make: *** [all] Error 2
>
> So I hack ./libraries/base/include/HsBaseConfig.h to use Double for
> HTYPE_DOUBLE and Float for HTYPE_FLOAT
>
> And... I have a stage1 build! I have compiled and tested a hello world
> app on my BB10 simulator. So, it would be nice to clean some of this
> up, and I'm not sure I made all the right choices, but it is minimally
> worked :D
>
More information about the iPhone
mailing list