Progress building unregisterised for FreeBSD/amd64

2007-03-13 Thread Gregory Wright


Hi Ian,

I have made some progress.  Today I got 6.4.2 to build unregisterized on
my FreeBSD/amd64 box.  I went back to 6.4.2 because the only actual  
report

of success I could find record of was Wilhelm Kloke's.  He used 6.4.1.

I made certain I had exactly the same versions of readline and gmp on  
both
machines.  This might not be necessary, but it's one less thing that  
might
go wrong.  I also downgraded my ghc to 6.4.2 on the host i386  
system.  Building
6.4.2 using 6.6 runs into trouble with the change in the mutable  
array API.


The 6.4.2 build now runs successfully to the end of the hc-build script.
I haven't installed it, but tried to build an out of the box 6.6 with  
the 6.4.2
ghc-inplace.  (I applied my patch to Linker.c so that the build  
wouldn't fail
merely because of undefined symbols.)  I also patched the mangler by  
adding

|freebsd to rules for /^x86_64-.*-(linux|openbsd)$/.

The interesting thing is that out of the box using the 6.4.2  
bootstrap compiler,
6.6 still crashes when compiling Linker.c.  Not just a little crash;  
it hung the

whole system.  At that point it is using the ghc-inplace of 6.6.

On Mar 13, 2007, at 3:05 PM, Ian Lynagh wrote:



This sounds like you are using the original 6.6? You're probably  
better
off trying to start from the 6.6 darcs branch instead (make a  
tarball of

a checkout (might as well run autoreconf first) so you can be sure you
have the same source on both machines).



As I said, I'm using out of the box 6.6.  Should I try a 6.6 from darcs?



../compiler/ghc-inplace -optc-O -optc-Wall -optc-W -optc-Wstrict-
prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -
optc-Winline -optc-Waggregate-return -optc-Wbad-function-cast -optc-
I../includes -optc-I. -optc-Iparallel -optc-DCOMPILING_RTS -optc-
fomit-frame-pointer -optc-fno-strict-aliasing -H16m -O -optc-O2 -
static -I. -#include HCIncludes.h -fvia-C -dcmm-lint -c  
Linker.c -

o Linker.o
Segmentation fault (core dumped)
gmake: *** [Linker.o] Error 139
gmake: Leaving directory `/tmp/ghc-6.6/rts'


../compiler/ghc-inplace has successfully compiled other files by this
point, right?



Yes.  I've built the 6.6 compiler with the 6.4.2 bootstrap, and the  
inplace
6.6 has built everything up until Linker.c.  Then crash, burn,  
smoking ruin.



It probably won't help, but what does it say if you add -v?

I suspect the next step is to try gdb and see what it says, though. It
might be necessary to repeat the build with -g -O0 in GhcHcOpts or  
other

variables (be wary of hc-build trampling changes you make to
mk/build.mk).

It might even be useful to tweak the process so that you end up with a
-debug ghc (in fact, this should probably be the default). I don't  
have
instructions for how to do this, but I've done it in the past and  
don't
remember any major difficulties. Basically stick SRC_HC_OPTS += - 
debug

in compiler/Makefile and fix any problems that come up (you might need
to do things like make WAY=debug in rts/, and modify the list of  
files

that get put in the tarball).




I can add -v.  Should I try to build a vanilla 6.6 with debugging or  
one out

of darcs?  Which would be more useful?

Thanks for your help.



Thanks
Ian



Best Wishes,
Greg


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


Re: Progress building unregisterised for FreeBSD/amd64

2007-03-13 Thread Ian Lynagh

Hi Gregory,

On Tue, Mar 13, 2007 at 05:18:42PM -0400, Gregory Wright wrote:
 
 The 6.4.2 build now runs successfully to the end of the hc-build script.

Ah, good, that'll hopefully make getting 6.6 working less painful.

 The interesting thing is that out of the box using the 6.4.2  
 bootstrap compiler,
 6.6 still crashes when compiling Linker.c.  Not just a little crash;  
 it hung the
 whole system.

Hmm. Do you know if it was eating all your memory?

 As I said, I'm using out of the box 6.6.  Should I try a 6.6 from darcs?

Yes, that's probably the best way to go. Put:

GhcUnregisterised=YES
GhcWithNativeCodeGen=NO
GhcWithInterpreter=NO
SplitObjs=NO
GhcWithSMP=NO

in mk/build.mk before you start building. If that breaks in the same way
then set the -debug flag as I described before, delete
compiler/stage1/ghc-6.whatever.it.is, run make stage=1 in compiler/
(should relink ghc with -debug) and then try the failing command again.
Assuming it still breaks, try gdb'ing it (note that it's a shell script
that's being run, so you'll need to run the real binary and pass the
extra args to it manually with gdb).


Thanks
Ian

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