"make boot" problem

Manuel M. T. Chakravarty chak@cse.unsw.edu.au
Sun, 10 Dec 2000 03:09:24 +1100


What's the story for building GHCi?  When using "make boot"
on a fresh tree from CVS, it dies in hslibs/ when attempting
to use "../../ghc/compiler/ghc-inplace -M [..]" as the new
ghc-inplace doesn't exist yet.

Next I tried to do "make all" in ghc/ to get the right
ghc-inplace, but it eventually fails with 

  rm -f PrelBase.p_o ; if [ ! -d PrelBase ]; then mkdir PrelBase; else /usr/bin/find PrelBase -name '*.p_o' -print | xargs rm -f __rm_food ; fi ;   
  ../../../ghc/compiler/ghc-inplace -recomp -cpp -fvia-C -fglasgow-exts -O -package-name std -static -hisuf p_hi -split-objs -prof   -c PrelBase.lhs -o PrelBase.p_o -osuf p_o

  PrelBase.lhs:87:
      Bad interface file: ./PrelErr.p_hi-boot
	  does not exist
  Action: openFile
  Reason: file does not exist ./PrelErr.p_hi-boot

Going back to hslibs/ at this point, gives me

  rm -f Bits.p_o ; if [ ! -d Bits ]; then mkdir Bits; else /usr/bin/find Bits -name '*.p_o' -print | xargs rm -f __rm_food ; fi ;   
  ../../ghc/compiler/ghc-inplace -recomp -cpp -fglasgow-exts -fvia-C -I../../ghc/includes  -imonads -hisuf p_hi -O  -package-name lang  -split-objs -prof   -c Bits.lhs -o Bits.p_o -osuf p_o

  Bits.lhs:11: Could not find interface file for `Prelude'

  Bits.lhs:14: Could not find interface file for `PrelGHC'

  Bits.lhs:15: Could not find interface file for `PrelBase'

  Bits.lhs:16: Could not find interface file for `PrelNum'
  make[1]: *** [Bits.p_o] Error 1
  make: *** [all] Error 1

This all not that suprising, but it makes me wonder how the
new boot process is supposed to work.  In 4.08, where
ghc-inplace lived in ghc/driver/ it obviously was simpler as
the driver could be built independent of the compiler
proper.

Cheers,
Manuel

PS: I don't have a `build.mk'.