Tim Hemel <[EMAIL PROTECTED]> writes:
>
>
> Now, back to my problem. Again in ghc/lib/std:
> Panic! Array.o exists, but Array.hi does not. exit 1
It's not clear from your msg, but I'm guessing that you've
managed to build the contents of ghc/compiler successfully?
If that's the case, then you'll need to do a 'make clean'
in ghc/lib (or, if that makes nervous, create a copy of it
first) followed by a re-run of the configure script, but
this time without the --enable-hc-boot option. Once
that has completed, cd into ghc/lib and have a
go at building the Prelude libraries using the 'hsc'
you've just built.
Hope that helps, fyi, I've appended the (post 3.02)
updated section of the installation notes concerning
booting from .hc files.
We probably should make the interface files available along
with the .hc files to make life easier for you and others,
but the current setup at least forces people to stress
test their bootstrapped compilers, which is not a Bad Idea.
--Sigbjorn
<sect>Booting/porting from C (@.hc@) files
<label id="sec:booting-from-C">
<nidx>building GHC from .hc files</nidx>
<nidx>booting GHC from .hc files</nidx>
<nidx>porting GHC</nidx>
<p>
This section is for people trying to get GHC going by using the
supplied intermediate C (@.hc@) files. This would probably be because
no binaries have been provided, or because the machine is not ``fully
supported.''
The intermediate C files are normally made available together with a
source release, please check the announce message for exact directions
of where to find them. If we've haven't made them available or you
can't find them, please ask.
Assuming you've got them, unpack them on top of a fresh source tree.
Then follow the `normal' instructions in Section~<ref
id="sec:building-from-source" name="Buiding From Source"> for setting
up a build tree. When you invoke the configure script, you'll have
to tell the script about your intentions:
<tscreen><verb>
foo% ./configure --enable-hc-boot
</verb></tscreen>
<ncdx/--enable-hc-boot/
<ncdx/--disable-hc-boot/
Assuming it configures OK and you don't need to create @mk/build.mk@
for any other purposes, the next step is to proceed with a @make boot@
followed by @make all@. At the successful completion of @make all@,
you should end up with a binary of the compiler proper,
@ghc/compiler/hsc@, plus archives (but no @.hi@ files!) of the prelude
libraries. To generate the Prelude interface files (and test drive the
bootstrapped compiler), re-run the @configure@ script, but this time
witout the @--enable-hc-boot@ option. After that re-create the
contents of @ghc/lib@:
<tscreen><verb>
foo% ./configure
....
foo% cd ghc/lib
foo% make clean
foo% make boot
foo% make all
</verb></tscreen>
That's the mechanics of the boot process, but, of course, if you're
trying to boot on a platform that is not supported and significantly
`different' from any of the supported ones, this is only the start of
the adventure...(ToDo: porting tips - stuff to look out for, etc.)