Problems building HEAD

Simon Marlow simonmarhaskell at gmail.com
Tue May 2 07:51:38 EDT 2006


Reilly Hayes wrote:

> 1) Issues with bookstrap.mk
> 
> bootstrap.mk in head contains the following lines
> 
> TOP_SAVED := $(TOP)
> TOP:=$(TOP)/ghc
> 
> include $(TOP)/mk/version.mk
> include $(TOP)/mk/paths.mk
> 
> # Reset TOP
> TOP:=$(TOP_SAVED)

Yes, none of that is required any more.  Thanks.

> 2) Building the .hc files
> 
> The building guide says that I can build hc files on another host 
> running on the same platform.  The word platform seems to be used to 
> describe architecture in some places and architecture & O/S in others.  
> I have assumed that it means architecture in this case (if we already 
> have a compiler that runs on the same Arch & OS, why are we porting).
> 
> What the building guide does not do is provide instructions for 
> producing registerized hc files.

Right - it's a build method that is even less well supported than doing 
an unregisterised bootstrap, because it is rarely needed.  You can 
always do an unregisterised bootstrap first, and use that compiler to 
build a registerised version.  Bootstrapping direct to registerised just 
misses out one stage.

>  The recipe I have stumbled onto is this
> 
> a) Create mk/build.mk and add the following lines:
> 
> GhcLibHcOpts = -O -fvia-C -keep-hc-files
> GhcRtsHcOpts = -keep-hc-files
> GhcStage1HcOpts = -O -fvia-C -keep-hc-files
> GhcStage2HcOpts = -O -fvia-C -keep-hc-files
> 
> b) run "./configure"
> c) run "make"
> d) I want to run "make hc-file-bundle Project=ghc", but it complains
> about a few missing files.  So first I cd to rts and
> run "make AutoApply.hc AutoApply_p.hc AutoApply_thr.hc \
> AutoApply_thr_p.hc AutoApply_debug.hc AutoApply_thr_debug.hc"
> e) run "make hc-file-bundle Project=ghc", which works just fine.
> f) untar the resulting file in the parent directory of ghc-6.5.20060429 
> on the target machine
> 
> 3) running the build. 
> 
> I'm following the steps in distrib/hc-build by hand, which work out to:
> 
> ./configure --enable-hc-boot
> make -C utils boot all
> make -C ghc boot
> make -C libraries boot all GhcBootLibs=YES
> make -C ghc all
> 
> Is this all correct?  I'm having problems with the build in utils, but 
> by then I've already made enough assumptions about how to fix the build 
> that there's little point in asking the question until I've verified 
> that I haven't messed things up upstream.

You're in uncharted territory to some extent, because I don't think 
anyone has gone through the bootstrapping process with 6.5 since the 
recent source tree reorganisation.

If you're willing to be a guinnea pig, that's great :-)

I'm guessing the sequence should be something like this:

./configure --enable-hc-boot
$MAKE -C utils/mkdependC boot all
$MAKE -C includes boot all
$MAKE -C rts boot all
$MAKE -C libraries boot all GhcBootLibs=YES
$MAKE -C compat boot all
$MAKE -C utils boot all
$MAKE -C compiler boot all

Try that, and let me know how far you get.

Cheers,
	Simon


More information about the Glasgow-haskell-users mailing list