[cfe-dev] Can't compile clang

Ted Kremenek kremenek at apple.com
Wed Oct 31 00:21:41 PDT 2007


Hi Chris,

The undefined symbols are functions defined in the mainline LLVM  
subversion repository (and not yet part of an actual release of  
LLVM).  They are actually part of the libraries LLVMBitWriter.a and  
LLVMBitReader.a, and were added to those libraries within the last  
week or so.

I'm not certain what version of LLVM you are using, but please try  
updating to the latest (SVN version) of LLVM, rebuilding the core LLVM  
libraries, and see if the problem remains when building clang.  It is  
odd that you are only getting linker errors; if you didn't have the  
supporting header files you wouldn't be able to compile anything (so I  
imagine you are already using a fairly recent version of LLVM).

Ted

On Oct 30, 2007, at 11:50 PM, Chris Lee wrote:

> I'm getting this error trying to compile clang. Any ideas?
>
> llvm[1]: Linking Release executable clang (without symbols)
> Undefined symbols:
>  "llvm::Serializer::EmitInt(unsigned int)", referenced from:
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Emit(llvm::Serializer&,
> clang::IdentifierInfo const&)in libclangBasic.a(IdentifierTable.o)
>  "llvm::Deserializer::ReadCStr(std::vector<char, std::allocator<char>
>> &, bool)", referenced from:
>       
> llvm 
> ::SerializeTrait<clang::IdentifierTable>::Read(llvm::Deserializer&,
> clang::IdentifierTable&)in libclangBasic.a(IdentifierTable.o)
>  "llvm::Deserializer::~Deserializer()", referenced from:
>      (anonymous
> namespace)::SerializationTest::ReadTable(llvm::sys::Path&)
>                      in SerializationTest.o
>  "llvm::Serializer::EmitRecord()", referenced from:
>      (anonymous
> namespace)::SerializationTest::WriteTable(llvm::sys::Path&,
> clang::IdentifierTable*)                                     in
> SerializationTest.o
>  "llvm::Deserializer::ReadInt()", referenced from:
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm::SerializeTrait<clang::IdentifierInfo>::Read(llvm::Deserializer&,
> clang::IdentifierInfo&)in libclangBasic.a(IdentifierTable.o)
>       
> llvm 
> ::SerializeTrait<clang::IdentifierTable>::Read(llvm::Deserializer&,
> clang::IdentifierTable&)in libclangBasic.a(IdentifierTable.o)
>  "llvm::Deserializer::Deserializer(llvm::BitstreamReader&)",  
> referenced from:
>      (anonymous
> namespace)::SerializationTest::ReadTable(llvm::sys::Path&)
>                      in SerializationTest.o
>  "llvm::SerializeTrait<unsigned int>::Emit(llvm::Serializer&,
> unsigned int)", referenced from:
>       
> llvm::SerializeTrait<clang::IdentifierTable>::Emit(llvm::Serializer&,
> clang::IdentifierTable const&)in libclangBasic.a(IdentifierTable.o)
>  "llvm::Serializer::EmitCStr(char const*)", referenced from:
>       
> llvm::SerializeTrait<clang::IdentifierTable>::Emit(llvm::Serializer&,
> clang::IdentifierTable const&)in libclangBasic.a(IdentifierTable.o)
>  "llvm::Serializer::~Serializer()", referenced from:
>      (anonymous
> namespace)::SerializationTest::WriteTable(llvm::sys::Path&,
> clang::IdentifierTable*)                                     in
> SerializationTest.o
>  "llvm::MemoryBuffer::getMemBufferCopy(char const*, char const*, char
> const*)", referenced from:
>      clang::Preprocessor::EnterMainSourceFile(unsigned int)in
> libclangLex.a(Preprocessor.o)
>  "llvm::cl::ParseCommandLineOptions(int, char**, char const*)",
> referenced from:
>      _main in clang.o
>  "llvm::Serializer::Serializer(llvm::BitstreamWriter&, unsigned
> int)", referenced from:
>      (anonymous
> namespace)::SerializationTest::WriteTable(llvm::sys::Path&,
> clang::IdentifierTable*)                                     in
> SerializationTest.o
>  "llvm::APInt::APInt(unsigned int, unsigned int, unsigned long long
> const*)", referenced from:
>      clang::Expr::isIntegerConstantExpr(llvm::APSInt&,
> clang::ASTContext&, clang::SourceLocation*, bool) constin
> libclangAST.a(Expr.o)
>      clang::Sema::ActOnNumericConstant(clang::Token const&)in
> libclangSEMA.a(SemaExpr.o)
>      clang::Sema::ActOnNumericConstant(clang::Token const&)in
> libclangSEMA.a(SemaExpr.o)
>      clang::Sema::ActOnNumericConstant(clang::Token const&)in
> libclangSEMA.a(SemaExpr.o)
>      llvm::APInt::isIntN(unsigned int) constin  
> libclangSEMA.a(SemaExpr.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list