Clang 当尝试在Linux系统上使用/10.x版的llvm-10.0和主分支构建Halide时,面临以下问题

Clang 当尝试在Linux系统上使用/10.x版的llvm-10.0和主分支构建Halide时,面临以下问题,clang,llvm,halide,Clang,Llvm,Halide,我使用预构建的LLVM二进制文件和下面的cmake命令来配置 [ 53%] Linking CXX executable test_function_dag /bin/ld: ../../libHalide.so.10.0.0: undefined reference to `typeinfo for llvm::SectionMemoryManager' collect2: error: ld returned 1 exit status make[2]: *** [src/autosched

我使用预构建的LLVM二进制文件和下面的cmake命令来配置

[ 53%] Linking CXX executable test_function_dag
/bin/ld: ../../libHalide.so.10.0.0: undefined reference to `typeinfo for llvm::SectionMemoryManager'
collect2: error: ld returned 1 exit status
make[2]: *** [src/autoschedulers/adams2019/CMakeFiles/test_function_dag.dir/build.make:134: src/autoschedulers/adams2019/test_function_dag] Error 1
make[1]: *** [CMakeFiles/Makefile2:2328: src/autoschedulers/adams2019/CMakeFiles/test_function_dag.dir/all] Error 2
make: *** [Makefile:182: all] Error 2

任何建议都将不胜感激。

我从
release/10.x
克隆了卤化物,并根据LLVM 10.0.0二进制文件进行编译。在Ubuntu20.04LTS上,我还必须
安装libtinfo5
,因为这些二进制文件是针对旧的系统库构建的

我注意到官方的二进制文件不是用RTTI启用(ugh)构建的,并且能够重新编译和修复。
dependencies/llvm/CMakeLists.txt
中有一个bug。找到以下行:

cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=/home/harry/llvm/lib/cmake/llvm ../
$)

并将
GCC
更改为
GNU
。我们不使用非RTTI LLVM进行测试,这就是为什么没有捕获到这一点。

您是如何构建LLVM以及如何配置Halide的?看起来您可能试图从生成树而不是安装树中使用LLVM。我正在使用LLVM的预构建二进制文件。谁的预构建二进制文件?你的发行版?哪个发行版?从LLVM网站?您应该发布用于配置卤化物的命令,以便我们可以尝试重新编程。好的,我已经更新了问题。我打开了一个问题。谢谢你找到这个!谢谢,我现在可以构建它了。此修复程序现在位于upstream Halide中,并已被后端口到
release/10.x
分支。它将在10.0.1版本中提供。
$<$<COMPILE_LANG_AND_ID:CXX,GCC,Clang,AppleClang>:-fno-rtti>)