[cfe-dev] failed to build llvm using cmake

Zhanyong Wan (λx.x x) wan at google.com
Thu Apr 8 21:18:57 PDT 2010


Hi,

I'm at Clang/LLVM r100846.  According to
http://google1.osuosl.org:8011/console, it's a good revision for
Linux.  However I'm having trouble building it using cmake.  Here's
what did:

cd my_llvm_checkout_root
mkdir mybuild
cd mybuild
cmake ..
make

I got:

...
Linking CXX executable ../../bin/llvm-mc
CMakeFiles/llvm-mc.dir/Disassembler.cpp.o: In function
`verboseEvaluator(unsigned long*, unsigned int, void*)':
Disassembler.cpp:(.text+0x14b): undefined reference to `EDGetRegisterName'
Disassembler.cpp:(.text+0x1af): undefined reference to
`EDRegisterIsStackPointer'
Disassembler.cpp:(.text+0x1db): undefined reference to
`EDRegisterIsProgramCounter'
CMakeFiles/llvm-mc.dir/Disassembler.cpp.o: In function
`llvm::Disassembler::disassembleEnhanced(std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&,
llvm::MemoryBuffer&)':
Disassembler.cpp:(.text+0x824): undefined reference to `EDGetDisassembler'
Disassembler.cpp:(.text+0x8aa): undefined reference to `EDCreateInsts'
Disassembler.cpp:(.text+0x8e0): undefined reference to `EDNumTokens'
Disassembler.cpp:(.text+0x928): undefined reference to `EDGetToken'
Disassembler.cpp:(.text+0x961): undefined reference to `EDGetTokenString'
Disassembler.cpp:(.text+0x9aa): undefined reference to `EDOperandIndexForToken'
Disassembler.cpp:(.text+0x9db): undefined reference to `EDTokenIsWhitespace'
Disassembler.cpp:(.text+0xa06): undefined reference to `EDTokenIsPunctuation'
Disassembler.cpp:(.text+0xa31): undefined reference to `EDTokenIsOpcode'
Disassembler.cpp:(.text+0xa59): undefined reference to `EDTokenIsLiteral'
Disassembler.cpp:(.text+0xa81): undefined reference to `EDTokenIsRegister'
Disassembler.cpp:(.text+0xaeb): undefined reference to `EDTokenIsLiteral'
Disassembler.cpp:(.text+0xb15): undefined reference to
`EDTokenIsNegativeLiteral'
Disassembler.cpp:(.text+0xb3f): undefined reference to
`EDLiteralTokenAbsoluteValue'
Disassembler.cpp:(.text+0xb98): undefined reference to `EDTokenIsRegister'
Disassembler.cpp:(.text+0xbc2): undefined reference to `EDRegisterTokenValue'
Disassembler.cpp:(.text+0xc5a): undefined reference to `EDNumOperands'
Disassembler.cpp:(.text+0xcc1): undefined reference to `EDGetOperand'
Disassembler.cpp:(.text+0xd02): undefined reference to `EDEvaluateOperand'
collect2: ld returned 1 exit status
make[2]: *** [bin/llvm-mc] Error 1
make[1]: *** [tools/llvm-mc/CMakeFiles/llvm-mc.dir/all] Error 2
make: *** [all] Error 2

Am I missing something?  Or is the cmake script broken?

My cmake version is 2.6.4.  I'm using Linux.  Thanks,

-- 
Zhanyong



More information about the cfe-dev mailing list