Hi,
I'm the process of updating MacPort's ghc to 6.8.1 and adding support
for
Leopard (OS X 10.5) and have been having] some trouble.
The first task is just to get 6.8.1 running on Tiger (10.4). On PPC,
I use
ghc 6.4 as a bootstrap compiler and on Intel ghc 6.6. I am traveling
with
only a PPC PowerBook G4/OS X 10.4, so that's all I've been able to
test with.
The problem is that ghc 6.4 can not build 6.8.1. It seems related to
Cabal.
Using the 6.4 bootstrap compiler (with the version of Cabal that it
shipped
with) I get:
ranlib libHSrts_thr_debug.a
== Finished recursively making `all' for ways: p debug thr thr_p
thr_debug ...
PWD = /opt/local/var/macports/build/_Users_gwright_src_macports-
trunk_dports_lang_ghc/work/ghc-6.8.1/rts
make -C libraries boot
rm -f -rf bootstrapping.Cabal
cp -R Cabal bootstrapping.Cabal
/usr/bin/find bootstrapping.Cabal \( -name *.o -o -name *.hi \) \
-exec rm -f -f {} \;
touch stamp/bootstrapping.Cabal
rm -f -rf bootstrapping.filepath
cp -R filepath bootstrapping.filepath
/usr/bin/find bootstrapping.filepath \( -name *.o -o -name *.hi \) \
-exec rm -f -f {} \;
touch stamp/bootstrapping.filepath
rm -f -rf ifBuildable
mkdir ifBuildable
cp ifBuildable.hs ifBuildable/
cd ifBuildable /opt/local/var/macports/build/
_Users_gwright_src_macports-trunk_dports_lang_ghc/work/ghc-bootstrap/
bin/ghc -Wall --make ifBuildable -o ifBuildable
Chasing modules from: ifBuildable
Compiling Main ( ifBuildable.hs, ifBuildable.o )
Linking ...
ld: warning prebinding disabled because dependent library: /opt/local/
lib/libgmp.3.dylib is not prebound
rm -f -rf base/setup
mkdir base/setup
cp base/Setup.*hs base/setup
cd base/setup /opt/local/var/macports/build/
_Users_gwright_src_macports-trunk_dports_lang_ghc/work/ghc-bootstrap/
bin/ghc -Wall -cpp --make Setup.*hs -o Setup \
-DCABAL_VERSION=1,2,2,0 -i../../
bootstrapping.Cabal -i../../bootstrapping.filepath
Chasing modules from: Setup.hs
Compiling System.FilePath.Posix ( ../../bootstrapping.filepath/System/
FilePath/Posix.hs, ../../bootstrapping.filepath/System/FilePath/
Posix.o )
Compiling System.FilePath ( ../../bootstrapping.filepath/System/
FilePath.hs, ../../bootstrapping.filepath/System/FilePath.o )
Compiling Main ( Setup.hs, Setup.o )
Setup.hs:19:18: Not in scope: `buildHook'
Setup.hs:21:30: Not in scope: `buildHook'
Setup.hs:22:18: Not in scope: `makefileHook'
Setup.hs:24:33: Not in scope: `makefileHook'
Setup.hs:25:18: Not in scope: `instHook'
Setup.hs:26:29: Not in scope: `instHook'
Setup.hs:33:12: Not in scope: `compilerFlavor'
Setup.hs:33:45: Not in scope: data constructor `GHC'
make[1]: *** [base/setup/Setup] Error 1
make: *** [stage1] Error 2
If I upgrade the bootstrap compiler's Cabal to 1.1.6.2, the build
still fails.
(The old version of Cabal was unregistered according the instructions
for working with older versions of ghc Cabal.)
ranlib libHSrts_thr_debug.a
== Finished recursively making `all' for ways: p debug thr thr_p
thr_debug ...
PWD = /Users/gwright/Desktop/ghc-6.8.1/rts
make -C libraries boot
rm -f -rf bootstrapping.Cabal
cp -R Cabal bootstrapping.Cabal
/usr/bin/find bootstrapping.Cabal \( -name *.o -o -name *.hi \) \
-exec rm -f -f {} \;
touch stamp/bootstrapping.Cabal
rm -f -rf bootstrapping.filepath
cp -R filepath bootstrapping.filepath
/usr/bin/find bootstrapping.filepath \( -name *.o -o -name *.hi \) \
-exec rm -f -f {} \;
touch stamp/bootstrapping.filepath
rm -f -rf ifBuildable
mkdir ifBuildable
cp ifBuildable.hs ifBuildable/
cd ifBuildable /opt/local/bin/ghc -Wall --make ifBuildable -o
ifBuildable
Chasing modules from: ifBuildable
Compiling Main ( ifBuildable.hs, ifBuildable.o )
Linking ...
rm -f -rf base/setup
mkdir base/setup
cp base/Setup.*hs base/setup
cd base/setup /opt/local/bin/ghc -Wall -cpp --make Setup.*hs -o
Setup \
-DCABAL_VERSION=1,2,2,0 -i../../
bootstrapping.Cabal -i../../bootstrapping.filepath
Chasing modules from: Setup.hs
Compiling System.FilePath.Posix ( ../../bootstrapping.filepath/System/
FilePath/Posix.hs, ../../bootstrapping.filepath/System/FilePath/
Posix.o )
Compiling System.FilePath ( ../../bootstrapping.filepath/System/
FilePath.hs, ../../bootstrapping.filepath/System/FilePath.o )
Compiling Main ( Setup.hs, Setup.o )
Setup.hs:22:18: Not in scope: `makefileHook'
Setup.hs:24:33: Not in scope: `makefileHook'
make[1]: *** [base/setup/Setup] Error 1
make: *** [stage1] Error 2
With my installed 6.6.1 (and the Cabal 1.1.6.2 shipped with it) I was