Re: GHC-6.4.1 on FreeBSD-amd64 still not ported

2005-10-15 Thread John Hornkvist
Simon Marlow simonmar at microsoft.com writes:


 
 SIZEOF_mp_limb_t comes from DerivedConstants.h, and SIZEOF_VOID_P comes
 from ghcautoconf.h (both in ghc/includes).  Both of these files should
 be from the target system for a cross-compile; I strongly suspect that
 one of them has been overwritten by the host version in your tree.

Those files got overwritten several times for me, too, despite following the
instructions... I ended up watching for them to get overwritten and copying 
them back whenever that happened.

I've been trying to crosscompile for amd64-freebsd from Mac OS X, but 
although I seem to get all the hc files, the ghc-pkg-inplace crashes, and 
so does ghc-inplace, with the following backtrace:

#0  0x014f3ed0 in StgRun ()
#1  0x014f09b5 in schedule ()
#2  0x014f1386 in waitThread_ ()
#3  0x014f12aa in scheduleWaitThread ()
#4  0x014ee421 in rts_evalLazyIO ()
#5  0x014edccf in main ()

Should I try to build again with debug symbols, or is that pointless for ghc 
output?

Thanks,
John


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: GHC-6.4.1 on FreeBSD-amd64 still not ported

2005-10-15 Thread Wilhelm B. Kloke
John Hornkvist [EMAIL PROTECTED] schrieb:
 Simon Marlow simonmar at microsoft.com writes:

 SIZEOF_mp_limb_t comes from DerivedConstants.h, and SIZEOF_VOID_P comes
 from ghcautoconf.h (both in ghc/includes).  Both of these files should
 be from the target system for a cross-compile; I strongly suspect that
 one of them has been overwritten by the host version in your tree.

 Those files got overwritten several times for me, too, despite following the
 instructions... I ended up watching for them to get overwritten and copying 
 them back whenever that happened.

This is not really sufficient. I use chflags uchg to protect these
files. At least you you will be noticed, when the overwrite tries to happen.

 I've been trying to crosscompile for amd64-freebsd from Mac OS X, but 
 although I seem to get all the hc files, the ghc-pkg-inplace crashes, and 

Are you sure? The recommended procedure has a serious bug, which I
discovered about 30 minutes ago. You need to do make boot in the rebuilding
of ghc/lib/compat with the same flags as make all, because libghccompat.a
is built in make boot and you won't get the .hc files otherwise.
Just look into ghc/lib/Compat subdirectories for .hc files.

 so does ghc-inplace, with the following backtrace:

 #0  0x014f3ed0 in StgRun ()
 #1  0x014f09b5 in schedule ()
 #2  0x014f1386 in waitThread_ ()
 #3  0x014f12aa in scheduleWaitThread ()
 #4  0x014ee421 in rts_evalLazyIO ()
 #5  0x014edccf in main ()

 Should I try to build again with debug symbols, or is that pointless for ghc 
 output?

This is  pointless, and typical for the sort of errors SM mentioned.
I have got dozens of these in the process.

Now let me report real progress. I have got it on FreeBSD-6.0-amd64 at last.

Here are the steps on the host system, which are needed IIRC:

cp 
../../fptools-amd64/ghc-6.4.1/ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h}
 ghc/includes
touch 
ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h,mkDerivedConstants.c}
touch 
ghc/includes/{mkDerivedConstantsHdr,mkDerivedConstants.o,mkGHCConstants,mkGHCConstants.o}
touch ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h}
chflags uchg  ghc/includes/{ghcautoconf.h,DerivedConstants.h,GHCConstants.h}
(cd glafp-utils  gmake boot  gmake)
(cd ghc  gmake boot  gmake)
(cd libraries  gmake boot  gmake)
(cd ghc/compiler  gmake boot stage=2  gmake stage=2)
(cd ghc/lib/compat  gmake clean; rm .depend; gmake boot UseStage1=YES 
EXTRA_HC_OPTS='-O -fvia-C -keep-hc-files'; gmake -k UseStage1=YES 
EXTRA_HC_OPTS='-O -fvia-C -keep-hc-files')
(cd ghc/rts  gmake -k UseStage1=YES EXTRA_HC_OPTS='-O -fvia-C -keep-hc-files')
(cd ghc/utils  gmake clean; gmake -k UseStage1=YES EXTRA_HC_OPTS='-O -fvia-C 
-keep-hc-files')
gmake hc-file-bundle Project=Ghc

Don't forget to delete Linker.c (for ghci). The stage on teh host system
where the process fails jsut now is
 $MAKE -C libraries boot all
because 
 Fake happy is not happy!

But ghc-inplace seems to work pretty good now on amd64.
-- 
Dipl.-Math. Wilhelm Bernhard Kloke
Institut fuer Arbeitsphysiologie an der Universitaet Dortmund
Ardeystrasse 67, D-44139 Dortmund, Tel. 0231-1084-257

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users