I'm trying to build GHC 5.00 on Solaris 2.5.1.
I've got most of the way there. So far, I've had to:
- Hack glafp-utils/sgmlverb/Makefile because by lex doesn't support the -8 option.
- Hack mk/target.mk in several places because my ld doesn't support the -x option.
- Hack configure.in to prevent it from trying to build ReadLine (which was failing.)
(Any comments on the above?)
The compiler and standard libraries have all built. I'm now attempting to build DrIFT, but I get the following error:
../../../ghc/compiler/ghc-inplace -o DrIFT -ldl -cpp -fglasgow-exts -package text -O ChaseImports.o CommandP.o DataP.o DigitToInt.o DrIFT.o Literate.o ParseLib2.o PreludData.o Pretty.o RuleUtils.o StandardRules.o UserRuleBinary.o UserRuleXml.o UserRules.o
Undefined first referenced
symbol in file
siginterrupt /tmp/ajw/ghc-5.00-build-from-4.08.2/ghc/driver/../rts/libHSrts.a(Signals.o)
ld: fatal: Symbol referencing errors. No output written to DrIFT
In fact, this occurs whenever I run ghc-inplace to try to create an executable :-(
It turns out that siginterrupt is defined in /usr/ucblib/libucb.a, so if I muck about a bit, I can get a working executable like so:
/tmp/ajw/ghc-5.00-build-from-4.08.2/ghc/compiler/ghc-inplace -o test -L/usr/ucblib -lucb test.lhs
So the question is: how do I get libHSrts.a to link automatically with /usr/ucblib/libucb.a so that the compiler will work properly?
Many thanks in advance for any help!
Cheers,
Alister.