collect2:致命错误:ld 以信号 9 终止 [Killed]

Old*_*nda 8 ubuntu gcc ld

我正在尝试在 Ubuntu 16.04.3 x64 上构建precimonious。我为它分配了 1GB 内存。我的文件结构看起来像

~
|--- llvm/
|--- precimonious/
Run Code Online (Sandbox Code Playgroud)

https://github.com/corvette-berkeley/precimonious#requirement所述,llvm 在 3.0 版上。然后我按照自述文件上的步骤操作,但命令make

...
llvm[1]: Linking Debug Shared Library libLLVM-3.0.so
collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.
...
Run Code Online (Sandbox Code Playgroud)

我在网上浏览了一些答案,他们说可能是因为没有足够的内存来执行链接。但内存使用情况就像 在此处输入图片说明

我机器上的 gcc 版本是gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)通过apt-get install build-essential. 顺便说一句,这是我刚刚在 DigitalOcean 上创建的一个新鲜液滴。任何帮助表示赞赏。

Flo*_*mer 7

这是内存耗尽。内存测量的采样间隔不够小,不足以覆盖 OOM 杀手开始的确切点。

根据容器/VM 技术,您可能能够vm.overcommit_memory=2在构建之前进行设置,这样进程就不会被终止(但这样做实际上需要更多内存和交换空间来完成构建)。


hou*_*sam 7

我遇到了这个问题,并通过以下方式解决:

  • 增加SWAP磁盘(我使用的是 8 GB)。
  • 增加内存(我在虚拟机上,8 GB)。
  • 您需要(LLVM 6.0.0) 可用磁盘空间(在终端中27 GB检查)。df -h

  • 我用它来增加 Ubuntu 上现有交换文件的大小:https://askubuntu.com/a/1177939/257860 (3认同)

小智 7

您可以使用以下方法解决此问题:

 cargo run --release --verbose --jobs 1
Run Code Online (Sandbox Code Playgroud)

  • 为我修好了。谢谢。 (2认同)