为什么链接器终止于我? 当我build立CLANG

当您单击vmware时 ,我正在使用opensuse,特定于mono网站上的变体

我得到这个错误。 有谁知道我可以修复它?

make[4]: Entering directory `/home/rupert/Desktop/llvm/tools/clang/tools/driver' llvm[4]: Linking Debug+Asserts executable clang collect2: ld terminated with signal 9 [Killed] make[4]: *** [/home/rupert/Desktop/llvm/Debug+Asserts/bin/clang] Error 1 

全文可以在这里find

您的虚拟机没有足够的内存来执行链接阶段。 链接通常是构build中最占内存的部分,因为它是所有目标代码聚集在一起并作为一个整体运行的地方。

如果你可以分配更多的内存给虚拟机,那就这样做。 或者,您可以增加交换空间量。 我不熟悉虚拟机,但我想象你设置的虚拟硬盘将有一个交换分区。 如果你可以做得更大或者分配第二个交换分区来帮助你。

增加内存,如果只是在你的构build期间,是最容易做的事情。

也得到了同样的问题,并通过执行以下步骤解决( 只是内存问题 ) –

  1. 通过运行free命令检查当前的交换空间(它必须在10GB左右)。
  2. 检查交换分区

     sudo fdisk -l /dev/hda8 none swap sw 0 0 
  3. 创build交换空间并启用它。

     sudo swapoff -a sudo /sbin/mkswap /dev/hda8 sudo swapon -a 

如果你的交换磁盘大小不够,你想创build交换文件并使用它。

  1. 创build交换文件。

     sudo fallocate -l 10g /mnt/10GB.swap sudo chmod 600 /mnt/10GB.swap 

    要么

     sudo dd if=/dev/zero of=/mnt/10GB.swap bs=1024 count=10485760 sudo chmod 600 /mnt/10GB.swap 
  2. 装载交换文件。

     sudo mkswap /mnt/10GB.swap 
  3. 启用交换文件。

     sudo swapon /mnt/10GB.swap 

我在VirtualBox系统上构build了同样的问题。 FWIW我正在build立一个XP和2GB内存的笔记本电脑。 为了获得成功的构build,我不得不将虚拟内存高达1462MB。 另外请注意,推荐的8GB磁盘大小不足以在Ubuntu下构build和安装LLVM和Clang。 我build议至less16GB。

我尝试使用-j1,它的工作原理! 但build设需要很长时间。