Skip to content

Error in build system for HC booting

The distrib/hc-build script for booting from .hc files
contains two errors.  First, the configuration options
supplied to the script are not passed to configure in
the second go-around.

More importantly, the location of the ghc compiler
built in the first phase is not passed to configure in
the second phase.  If there is a haskell compiler on
the system, configure will find it and use it for the
second stage of the build (thus obviating the purpose
of bootstrapping in the first place).  If there isn't a
haskell compiler, $(HC) (and thus MKDEPENDHS, etc.)
isn't defined and the build fails.

I've modified the script to use the ghc built in-place
in the first phase as follows:

COMP=`pwd`/ghc/compiler/ghc-inplace
...
echo "*** Building libraries..."
./configure --with-ghc=$COMP $configopts

but I get errors when using the first-phase compiler:

------------------------------------------------------
==fptools== gmake boot -wr;
 in /home/mark/ghc-5.00.2/ghc/utils/ghc-pkg
------------------------------------------------------
/home/mark/ghc-5.00.2/ghc/compiler/ghc-inplace -M    
  -optdep-f -optdep.depend  -osuf o    -cpp -DPKG_TOOL  
  -DWANT_PRETTY -package lang -package util -package 
  text Main.hs Package.hs
Main.hs: can't find one of the following: `IO.hi' 
  `IO.hs' `IO.lhs'
gmake[1]: *** [depend] Error 1
gmake: *** [boot] Error 1

I'm still playing with the ghc-inplace invocation to
make things work, but I'm as of yet unsucessful.
Trac metadata
Trac field Value
Version 5.0
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution ResolvedFixed
Component Build System
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information