llvm将CXX共享库../../lib/libLTO.so链接到目标

时间:2018-10-08 16:54:50

标签: llvm llvm-clang halide

我尝试安装提拉米苏编译器

并尝试使用此命令安装其子模块(ISL,LLVM和Halide)

dina@dina-VBox:~/tiramisu$ ./utils/scripts/install_submodules.sh ./

我收到错误

Done installing isl
#### Installing LLVM ####
cd .//3rdParty/llvm
.//utils/scripts/functions.sh: line 6: cd: .//3rdParty/llvm: No such file or directory

要解决此问题,我使用了在答案here上共享的命令

./utils/scripts/install_submodules.sh $PWD

它工作得更好,然后第一个我达到安装的95%,但是由于此错误而停止在这里

Linking CXX shared library ../../lib/libLTO.so undefiened refernece to target

这是错误的详细信息

   [ 95%] Linking CXX executable ../../bin/opt
    [ 95%] Linking CXX shared library ../../lib/libLTO.so
    ../../lib/libLLVMX86AsmParser.a(X86AsmParser.cpp.o): In function `llvm::RegisterMCAsmParser<(anonymous namespace)::X86AsmParser>::Allocator(llvm::MCSubtargetInfo const&, llvm::MCAsmParser&, llvm::MCInstrInfo const&, llvm::MCTargetOptions const&)':
    X86AsmParser.cpp:(.text._ZN4llvm19RegisterMCAsmParserIN12_GLOBAL__N_112X86AsmParserEE9AllocatorERKNS_15MCSubtargetInfoERNS_11MCAsmParserERKNS_11MCInstrInfoERKNS_15MCTargetOptionsE+0x164): undefined reference to `llvm::CreateX86AsmInstrumentation(llvm::MCTargetOptions const&, llvm::MCContext const&, llvm::MCSubtargetInfo const*&)'
    CMakeFiles/llvm-mc.dir/llvm-mc.cpp.o: In function `main':
    llvm-mc.cpp:(.text.startup.main+0xe4): undefined reference to `LLVMInitializeX86Disassembler'
    ../../lib/libLLVMX86Desc.a(X86MCTargetDesc.cpp.o): In function `LLVMInitializeX86TargetMC':
    X86MCTargetDesc.cpp:(.text.LLVMInitializeX86TargetMC+0xc7): undefined reference to `llvm::createX86_32AsmBackend(llvm::Target const&, llvm::MCRegisterInfo const&, llvm::Triple const&, llvm::StringRef, llvm::MCTargetOptions const&)'

...
...


    ../../lib/libLLVMAArch64CodeGen.a(AArch64TargetObjectFile.cpp.o):(.data.rel.ro._ZTVN4llvm29AArch64_MachoTargetObjectFileE[_ZTVN4llvm29AArch64_MachoTargetObjectFileE]+0xa0): undefined reference to `llvm::TargetLoweringObjectFileMachO::SelectSectionForGlobal(llvm::GlobalObject const*, llvm::SectionKind, llvm::TargetMachine const&) const'
    collect2: error: ld returned 1 exit status
    tools/opt/CMakeFiles/opt.dir/build.make:349: recipe for target 'bin/opt' failed
    make[2]: *** [bin/opt] Error 1
    CMakeFiles/Makefile2:44345: recipe for target 'tools/opt/CMakeFiles/opt.dir/all' failed
    make[1]: *** [tools/opt/CMakeFiles/opt.dir/all] Error 2
    Makefile:151: recipe for target 'all' failed
    make: *** [all] Error 2
    dina@dina-VBox:~/tiramisu$ ^C

我不知道该如何解决这个新错误,有人可以帮忙吗。

1 个答案:

答案 0 :(得分:0)

我无法自行解决问题,但我更改了提拉米苏的安装方式。

我确实注意到了这一点,并且也确实想引起您的注意,这可能有助于您的时间并成功地完成安装。

  • 永远不要在虚拟盒子上安装提拉米苏,因为提拉米苏需要高性能的机器,我的意思是一旦编译消耗至少6GRAM,就至少需要6G RAM。

    意味着最好直接使用分区或Linux系统。

  • 您可能会发现各个版本之间的问题,这意味着有些人可以在18.04中成功安装它,有些可以在16中安装,有些在14中。因此,如果您在版本中失败,请永不放弃,再尝试更好的版本,然后瘫痪。 p>

  • 安装提拉米苏后最好不要并行吃午餐。

  • 您需要有一个良好的网络来克隆提拉米苏子模块,并以35kb / s的网络本身来复制提拉米苏,可能需要24小时才能克隆所有东西。
  • 检查所有列出的安装提拉米苏的技巧,以免遇到麻烦,如果据说您应该使用CMake 5.0版本,因为它们已经在该版本中进行了测试,并且可以确保在6版本中没有任何被许可人可以使用工作,所以要小心。

  • 如果您以无法解决问题的方式分散事物。最好清理所有内容并从“ 0”重新启动。

  • 要耐心:安装提拉米苏是一项繁重的工作,因此要胸襟宽广并保持禅意。

我花了一个月的时间才能安装提拉米苏,我遇到了很多问题。但是,一旦我将其安装在分区中并仔细执行了上面显示的步骤,我终于可以成功安装了。

好运:)。