[ 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我使用预先构建的LLVM二进制文件和下面的cmake命令来配置
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_DIR=/home/harry/llvm/lib/cmake/llvm ../任何建议和建议都将不胜感激。
发布于 2020-10-30 17:36:53
我从release/10.x克隆了Halide,并针对LLVM10.0.0二进制obtained here进行了编译。在Ubuntu20.04LTS上,我还必须使用apt install libtinfo5,因为这些二进制文件是基于旧的系统库构建的。
我注意到官方的二进制文件并没有启用RTTI (ugh),并且能够重现和修复。dependencies/llvm/CMakeLists.txt中有一个bug。找到下面这行:
$<$<COMPILE_LANG_AND_ID:CXX,GCC,Clang,AppleClang>:-fno-rtti>)并将GCC更改为GNU。我们不使用非RTTI LLVM进行测试,这就是为什么它没有被捕获的原因。
https://stackoverflow.com/questions/64588796
复制相似问题