调试llvm时出现collect2: fatal error: ld terminated with signal 9

2023-05-16

  1. 安装llvm debug版本
    release版本的安装过程可以参考https://blog.csdn.net/vincentuva/article/details/82993563
    在安装使用debug版本时,只需要进入到build目录(由用户自己创建)下,并且进行编译:
 cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_INCLUDE_TESTS=OFF ../

然后再进行make & make install。
到此便可完成llvm的debug版本安装。

在编译的最后过程里面会出现下面的错误(这里并没有把所有的错误都粘贴出来):

collect2: fatal error: ld terminated with signal 9 [已杀死]
compilation terminated.
tools/opt/CMakeFiles/opt.dir/build.make:408: recipe for target 'bin/opt' failed
make[2]: *** [bin/opt] Error 1
make[2]: *** Deleting file 'bin/opt'
CMakeFiles/Makefile2:21099: recipe for target 'tools/opt/CMakeFiles/opt.dir/all' failed
make[1]: *** [tools/opt/CMakeFiles/opt.dir/all] Error 2
collect2: fatal error: ld terminated with signal 9 [已杀死]
compilation terminated.
tools/llc/CMakeFiles/llc.dir/build.make:245: recipe for target 'bin/llc' failed
make[2]: *** [bin/llc] Error 1
make[2]: *** Deleting file 'bin/llc'
CMakeFiles/Makefile2:21499: recipe for target 'tools/llc/CMakeFiles/llc.dir/all' failed
make[1]: *** [tools/llc/CMakeFiles/llc.dir/all] Error 2
collect2: fatal error: ld terminated with signal 9 [已杀死]
compilation terminated.
tools/clang/tools/libclang/CMakeFiles/libclang.dir/build.make:756: recipe for target 'lib/libclang.so.4.0' failed
make[2]: *** [lib/libclang.so.4.0] Error 1
make[2]: *** Deleting file 'lib/libclang.so.4.0'
CMakeFiles/Makefile2:20384: recipe for target 'tools/clang/tools/libclang/CMakeFiles/libclang.dir/all' failed
make[1]: *** [tools/clang/tools/libclang/CMakeFiles/libclang.dir/all] Error 2
[ 98%] Built target lli
[ 98%] Built target llvm-c-test
[ 98%] Built target llvm-dwp

  1. 问题解决

通过网上查找相关解决方案,突然想起来了自己编译release版本时候没有出现这个问题,但是debug版本的时候就会出现这个问题,发现原来是swap空间不够了。
接下来就创建更多的swap空间(这里创建了20G):

sudo mkdir swapfile
cd /swapfile
sudo dd if=/dev/zero of=swap bs=1024 count=20000000
sudo mkswap -f  swap
sudo swapon swap

如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。

sudo swapoff swap

参考文献:
https://bbs.csdn.net/topics/380266160
https://www.linuxidc.com/Linux/2010-09/28915.htm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试llvm时出现collect2: fatal error: ld terminated with signal 9 的相关文章

随机推荐