clang failing to link with LLVM objects (sparc/SunOS)

I’m attempting to compile LLVM and clang on a Sparc machine from the LLVM 2.9 Release source code, and while LLVM seems to be building correctly, clang is failing at link time with a huge number of undefined symbols that appear to reference LLVM objects:

[snip]
llvm[4]: Compiling cc1_main.cpp for Release build
llvm[4]: Compiling cc1as_main.cpp for Release build
llvm[4]: Compiling driver.cpp for Release build
llvm[4]: Linking Release executable clang (without symbols)
Undefined first referenced
symbol in file
llvm::Function::hasGC() const /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libLLVMBitWriter.a(BitcodeWriter.o)
llvm::sys::path::is_absolute(llvm::Twine const&) /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libclangFrontend.a(InitHeaderSearch.o)
llvm::CallInst::init(llvm::Value*, llvm::Value* const*, unsigned int) /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libclangCodeGen.a(CodeGenModule.o)
llvm::Twine::print(llvm::raw_ostream&) const /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libclangFrontend.a(InitPreprocessor.o)
llvm::InsertElementInst::InsertElementInst(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Twine const&, llvm::Instruction*) /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libclangCodeGen.a(CGExpr.o)
llvm::SDNode::hasAnyUseOfValue(unsigned int) const /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libLLVMSystemZCodeGen.a(SystemZISelDAGToDAG.o)
llvm::Regex::match(llvm::StringRef, llvm::SmallVectorImplllvm::StringRef*) /home17/aheinz/Documents/Misc/llvm-clang/build/Release/lib/libclangFrontend.a(VerifyDiagnosticsClient.o)
[snip] (there are a very large number of similar such errors)

It appears as though the linker can’t find any of the LLVM symbols. Has anyone seen this before? Is there something I need to change in a makefile / my config options / my path / etc. to correct this? I’ve been googling all day to no avail.

Help appreciated,

  • Alex