
I am presently trying to build GHC on an i386 Linux box running debian/sid. (Yea, I know there's a .deb - in fact, I have it installed - but I need to be able to compile my own.)
I've run configure and make, and stage 1 went quite well although there were a few syntax problems (usually due to #ifdef's in the source .hs files apparantly overrunning or underrunning; easily fixed by just deleting the problematic #ifdef chunks for other architectures).
Stage 2, however, seems to have a problem: make runs "make -C ghc/compiler stage=2", which then runs "../../ghc/compiler/stage1/ghc-inplace -o stage2/ghc-6.0 -H16m -O -i
-DGHCI -package haskell-src -package unix -package readline -cpp -fglasgow-exts -Rghc-timing -I. -IcodeGen -IativeGen -Iparser -recomp -Rghc-timingn -H16m `#include "hschooks.h"` -no-link-chk " This then produces: stage2/utils/Util.o(.text+0xb8): In funtion "r4c8_entry": undefined reference to "GHCziBase_True_Closure"
... and roughly 40,000 errors of the same form.
"Something has gone wrong" :-) GHCziBase_True_closure is a symbol that should be coming from the base package, the GHC.Base module in particular. You could check that libraries/base/libHSbase.a looks reasonable: it should be on the order of 17Mb. Try 'nm' on it, look for some of the missing symbols. Cheers, Simon