Booting from HC files is completely broken

David Madore david.madore@ens.fr
Tue, 24 Jul 2001 16:00:08 +0200


Hi all.

I tried to compile ghc-5.00.2 on a RedHat-7.1 system by booting from
HC files.  (Actually, I have a ghc-5.00 installed, but apparently some
programs compiled with it segfault, and this makes compilation of
ghc-5.00.2 impossible.  Note that I have a working happy-1.10,
however.)

Now it seems that the distrib/hc-build script is broken.

First of all, this is a minor point, but it calls ./configure twice,
and the second time it omits passing $configopts to it, so that
anything like --prefix will fail.

But this is not the problem I have.  To avoid the above gotcha, I
manually drove the various commands.  Up to the second invocation of
"configure", everything works fine.  I end up with a working
ghc-inplace (well, it seems to work).

But no interface (.hi) files.

How on earth are these supposed to be generated?  The hc-build script
calls ./configure a second time; now that does not find a working ghc
(of course: it doesn't know about the just built ghc-inplace), so
GHC="" in the Makefiles, and the attempt to make all in ghc/utils
fails miserably (in a ridiculous way, in fact: since GHC="", the next
argument on the command line, viz. "-ldl", becomes the command, and
GNU make looks for a program called "ldl", doesn't find it, and
ignores the error because of the prepended "-"; similarly, some "-o"
commands look for a program named "o" and ignore the error).  I tried
passing GHC to point to the ghc-inplace program built, but that
doesn't work either (missing interface files, so ghc/utils can't be
built; and ghc/libs can't be built because of the missing ghc/utils).

It seems that we still have a chicken-and-egg problem which the .hc
files have done nothing to solve.

Any suggestion (other than starting from a binary build, which is what
I suppose I'll try now)?

(Note: I'm not subscribed to the list.  Please Cc me all replies.)

-- 
     David A. Madore
    (david.madore@ens.fr,
     http://www.eleves.ens.fr:8080/home/madore/ )