Hi all, After updating llvm+clang to r174701 by issuing make -j8 happiness The build fails with: ... make[2]: Entering directory `/local/csaba/LLVM/build-release/tools/llvm-diff' llvm[2]: Compiling DiffConsumer.cpp for Release+Asserts build llvm[2]: Linking Release+Asserts executable lli (without symbols) llvm[2]: Compiling CrashDebugger.cpp for Release+Asserts build /local/csaba/LLVM/build-release/tools/llc/Release+Asserts/llc.o: In function `main': llc.cpp:(.text+0x5119): undefined reference to `LLVMInitializeAArch64TargetInfo' llc.cpp:(.text+0x5179): undefined reference to `LLVMInitializeAArch64Target' llc.cpp:(.text+0x51d9): undefined reference to `LLVMInitializeAArch64TargetMC' llc.cpp:(.text+0x5231): undefined reference to `LLVMInitializeAArch64AsmPrinter' llc.cpp:(.text+0x5269): undefined reference to `LLVMInitializeAArch64AsmParser' collect2: ld returned 1 exit status make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/llc] Error 1 make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llc' make[1]: *** [llc/.makeall] Error 2 make[1]: *** Waiting for unfinished jobs.... llvm[2]: Compiling DiffLog.cpp for Release+Asserts build llvm[2]: Compiling ExecutionDriver.cpp for Release+Asserts build llvm[2]: Linking Release+Asserts executable llvm-bcanalyzer (without symbols) llvm[2]: Linking Release+Asserts executable llvm-mc (without symbols) llvm[2]: ======= Finished Linking Release+Asserts Executable llvm-bcanalyzer (without symbols) make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llvm-bcanalyzer' llvm[2]: Compiling DifferenceEngine.cpp for Release+Asserts build llvm[2]: Compiling ExtractFunction.cpp for Release+Asserts build /local/csaba/LLVM/build-release/tools/llvm-mc/Release+Asserts/llvm-mc.o: In function `main': llvm-mc.cpp:(.text+0x2879): undefined reference to `LLVMInitializeAArch64TargetInfo' llvm-mc.cpp:(.text+0x28d9): undefined reference to `LLVMInitializeAArch64TargetMC' llvm-mc.cpp:(.text+0x2911): undefined reference to `LLVMInitializeAArch64AsmParser' llvm-mc.cpp:(.text+0x2941): undefined reference to `LLVMInitializeAArch64Disassembler' collect2: ld returned 1 exit status make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/llvm-mc] Error 1 make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llvm-mc' make[1]: *** [llvm-mc/.makeall] Error 2 llvm[2]: Compiling FindBugs.cpp for Release+Asserts build llvm[2]: ======= Finished Linking Release+Asserts Executable lli (without symbols) make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/lli' llvm[2]: Compiling llvm-diff.cpp for Release+Asserts build llvm[2]: Compiling Miscompilation.cpp for Release+Asserts build llvm[2]: Compiling OptimizerDriver.cpp for Release+Asserts build llvm[2]: Compiling ToolRunner.cpp for Release+Asserts build llvm[2]: Compiling bugpoint.cpp for Release+Asserts build llvm[2]: Linking Release+Asserts executable llvm-diff (without symbols) llvm[2]: Linking Release+Asserts executable opt (without symbols) llvm[2]: ======= Finished Linking Release+Asserts Executable llvm-diff (without symbols) make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llvm-diff' llvm[2]: Linking Release+Asserts executable bugpoint (without symbols) /local/csaba/LLVM/build-release/tools/opt/Release+Asserts/opt.o: In function `main': opt.cpp:(.text+0x1fc1): undefined reference to `LLVMInitializeAArch64TargetInfo' opt.cpp:(.text+0x2021): undefined reference to `LLVMInitializeAArch64Target' opt.cpp:(.text+0x2081): undefined reference to `LLVMInitializeAArch64TargetMC' collect2: ld returned 1 exit status make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/opt] Error 1 make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/opt' make[1]: *** [opt/.makeall] Error 2 llvm[2]: ======= Finished Linking Release+Asserts Executable bugpoint (without symbols) make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/bugpoint' make[1]: Leaving directory `/local/csaba/LLVM/build-release/tools' make: *** [all] Error 1 I suspect it's either a dependency problem or a missing library. This is with autoconf, not CMake. Any ideas? Csaba -- GCS a+ e++ d- C++ ULS$ L+$ !E- W++ P+++$ w++$ tv+ b++ DI D++ 5++ The Tao of math: The numbers you can count are not the real numbers. Life is complex, with real and imaginary parts. "Ok, it boots. Which means it must be bug-free and perfect. " -- Linus Torvalds "People disagree with me. I just ignore them." -- Linus Torvalds
Hi Csaba, Usually, "rm Makefile.llvmbuild" fixes this kind of problem for me. --Stephan On 08/02/13 10:41, Csaba Raduly wrote:> Hi all, > > After updating llvm+clang to r174701 by issuing > > make -j8 happiness > > The build fails with: > ... > make[2]: Entering directory `/local/csaba/LLVM/build-release/tools/llvm-diff' > llvm[2]: Compiling DiffConsumer.cpp for Release+Asserts build > llvm[2]: Linking Release+Asserts executable lli (without symbols) > llvm[2]: Compiling CrashDebugger.cpp for Release+Asserts build > /local/csaba/LLVM/build-release/tools/llc/Release+Asserts/llc.o: In > function `main': > llc.cpp:(.text+0x5119): undefined reference to `LLVMInitializeAArch64TargetInfo' > llc.cpp:(.text+0x5179): undefined reference to `LLVMInitializeAArch64Target' > llc.cpp:(.text+0x51d9): undefined reference to `LLVMInitializeAArch64TargetMC' > llc.cpp:(.text+0x5231): undefined reference to `LLVMInitializeAArch64AsmPrinter' > llc.cpp:(.text+0x5269): undefined reference to `LLVMInitializeAArch64AsmParser' > collect2: ld returned 1 exit status > make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/llc] Error 1 > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llc' > make[1]: *** [llc/.makeall] Error 2 > make[1]: *** Waiting for unfinished jobs.... > llvm[2]: Compiling DiffLog.cpp for Release+Asserts build > llvm[2]: Compiling ExecutionDriver.cpp for Release+Asserts build > llvm[2]: Linking Release+Asserts executable llvm-bcanalyzer (without symbols) > llvm[2]: Linking Release+Asserts executable llvm-mc (without symbols) > llvm[2]: ======= Finished Linking Release+Asserts Executable > llvm-bcanalyzer (without symbols) > make[2]: Leaving directory > `/local/csaba/LLVM/build-release/tools/llvm-bcanalyzer' > llvm[2]: Compiling DifferenceEngine.cpp for Release+Asserts build > llvm[2]: Compiling ExtractFunction.cpp for Release+Asserts build > /local/csaba/LLVM/build-release/tools/llvm-mc/Release+Asserts/llvm-mc.o: > In function `main': > llvm-mc.cpp:(.text+0x2879): undefined reference to > `LLVMInitializeAArch64TargetInfo' > llvm-mc.cpp:(.text+0x28d9): undefined reference to > `LLVMInitializeAArch64TargetMC' > llvm-mc.cpp:(.text+0x2911): undefined reference to > `LLVMInitializeAArch64AsmParser' > llvm-mc.cpp:(.text+0x2941): undefined reference to > `LLVMInitializeAArch64Disassembler' > collect2: ld returned 1 exit status > make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/llvm-mc] > Error 1 > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llvm-mc' > make[1]: *** [llvm-mc/.makeall] Error 2 > llvm[2]: Compiling FindBugs.cpp for Release+Asserts build > llvm[2]: ======= Finished Linking Release+Asserts Executable lli > (without symbols) > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/lli' > llvm[2]: Compiling llvm-diff.cpp for Release+Asserts build > llvm[2]: Compiling Miscompilation.cpp for Release+Asserts build > llvm[2]: Compiling OptimizerDriver.cpp for Release+Asserts build > llvm[2]: Compiling ToolRunner.cpp for Release+Asserts build > llvm[2]: Compiling bugpoint.cpp for Release+Asserts build > llvm[2]: Linking Release+Asserts executable llvm-diff (without symbols) > llvm[2]: Linking Release+Asserts executable opt (without symbols) > llvm[2]: ======= Finished Linking Release+Asserts Executable llvm-diff > (without symbols) > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/llvm-diff' > llvm[2]: Linking Release+Asserts executable bugpoint (without symbols) > /local/csaba/LLVM/build-release/tools/opt/Release+Asserts/opt.o: In > function `main': > opt.cpp:(.text+0x1fc1): undefined reference to `LLVMInitializeAArch64TargetInfo' > opt.cpp:(.text+0x2021): undefined reference to `LLVMInitializeAArch64Target' > opt.cpp:(.text+0x2081): undefined reference to `LLVMInitializeAArch64TargetMC' > collect2: ld returned 1 exit status > make[2]: *** [/local/csaba/LLVM/build-release/Release+Asserts/bin/opt] Error 1 > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/opt' > make[1]: *** [opt/.makeall] Error 2 > llvm[2]: ======= Finished Linking Release+Asserts Executable bugpoint > (without symbols) > make[2]: Leaving directory `/local/csaba/LLVM/build-release/tools/bugpoint' > make[1]: Leaving directory `/local/csaba/LLVM/build-release/tools' > make: *** [all] Error 1 > > I suspect it's either a dependency problem or a missing library. This > is with autoconf, not CMake. > > Any ideas? > > Csaba