[cfe-dev] Build Clang on x86_64 (ubuntu) with arm-linux-gnueabihf failed

Anton Smirnov dev at antonsmirnov.name
Tue Oct 8 01:07:18 PDT 2013


I can confirm that after editing there is no -L/lib64 in invocation line,
but the problem remains. I think previously compiled files were
compiled/linked with -L/lib64 and this
corrupts the build.

How can it be fixed/walked-around?


2013/10/8 Anton Smirnov <dev at antonsmirnov.name>

> As far as i understood, invocation line is saved in
> CMakeFiles/llvm-tblgen.dir/link.txt.
> I've edited it to remove -L/lib64 and invoked the last command line
> manually but the problem remains.
>
> What can i do in order to avoid adding -L/lib64 ?
>
> Thanks,
> Anton
>
>
> 2013/10/8 Anton Smirnov <dev at antonsmirnov.name>
>
>> Hello.
>>
>> Similar question to what i asked few days ago but was not resolved.
>>
>> I've followed guide (http://llvm.org/docs/HowToCrossCompileLLVM.html)
>> step-by-step.
>> The only changes i've done is installed g++ package since i've received
>> "no g++ found" on clear virtual machine (ubuntu 13.04_64).
>>
>> First i've compiled for host (to use tblgens), then for ARM.
>> When cross-compiling for ARM (tried both ninja and autotools) i'm getting
>> linker error:
>>
>> Linking CXX executable ../../bin/llvm-tblgen
>> ../../lib/libLLVMSupport.a: could not read symbols: File format not
>> recognized
>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> make[2]: *** [bin/llvm-tblgen] Error 1
>> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2
>>
>> Verbose output (make VERBOSE=1):
>>
>> cd /home/asmirnov/llvm_arm_cmake_build/utils/TableGen && /usr/bin/cmake
>> -E cmake_link_script CMakeFiles/llvm-tblgen.dir/link.txt --verbose=1
>> /usr/local/bin/clang++   -target armv7a-linux-gnueabihf -mcpu=cortex-a9
>> -I/usr/arm-linux-gnueabihf/include/c++/4.7.3/arm-linux-gnueabihf/
>> -I/usr/arm-linux-gnueabihf/include/ -mfloat-abi=hard -ccc-gcc-name
>> arm-linux-gnueabihf-gcc -Wall -W -Wno-unused-parameter -Wwrite-strings
>> -Wmissing-field-initializers -pedantic -Wno-long-long
>> -Wcovered-switch-default -Wnon-virtual-dtor -fno-rtti -O3 -DNDEBUG
>> CMakeFiles/llvm-tblgen.dir/AsmMatcherEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/AsmWriterEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/AsmWriterInst.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CallingConvEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeEmitterGen.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenDAGPatterns.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenInstruction.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenMapTable.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenRegisters.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenSchedule.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CodeGenTarget.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DAGISelEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DAGISelMatcherEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DAGISelMatcherGen.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DAGISelMatcherOpt.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DAGISelMatcher.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DFAPacketizerEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/DisassemblerEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/FastISelEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/FixedLenDecoderEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/InstrInfoEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/IntrinsicEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/OptParserEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/PseudoLoweringEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/RegisterInfoEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/SetTheory.cpp.o
>> CMakeFiles/llvm-tblgen.dir/SubtargetEmitter.cpp.o
>> CMakeFiles/llvm-tblgen.dir/TGValueTypes.cpp.o
>> CMakeFiles/llvm-tblgen.dir/TableGen.cpp.o
>> CMakeFiles/llvm-tblgen.dir/X86DisassemblerTables.cpp.o
>> CMakeFiles/llvm-tblgen.dir/X86ModRMFilters.cpp.o
>> CMakeFiles/llvm-tblgen.dir/X86RecognizableInstr.cpp.o
>> CMakeFiles/llvm-tblgen.dir/CTagsEmitter.cpp.o  -o ../../bin/llvm-tblgen
>> -L/usr/lib/gcc/x86_64-linux-gnu/4.7  -L/lib64  ../../lib/libLLVMTableGen.a
>> ../../lib/libLLVMSupport.a -lrt -ldl -lpthread -lpthread
>> ../../lib/libLLVMSupport.a: could not read symbols: File format not
>> recognized
>> clang: error: linker command failed with exit code 1 (use -v to see
>> invocation)
>> make[2]: *** [bin/llvm-tblgen] Error 1
>> make[2]: Leaving directory `/home/asmirnov/llvm_arm_cmake_build'
>> make[1]: *** [utils/TableGen/CMakeFiles/llvm-tblgen.dir/all] Error 2
>> make[1]: Leaving directory `/home/asmirnov/llvm_arm_cmake_build'
>> make: *** [all] Error 2
>>
>>  Can it be walked-around by invocation without -L/lib64 ?
>>
>> Anton
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131008/db8cfa6a/attachment.html>


More information about the cfe-dev mailing list