Android编译中遇到一个莫名的错误:
collect2: ld terminated with signal 9 [Killed] make: *** [out/host/linux-x86/obj/EXECUTABLES/clang_intermediates/clang] Error 1 make: *** Waiting for unfinished jobs....
经过Google+baidu,都说是内存不够引起的,相起来装系统的时候是2G内存,而ubundu的swap自动设的是与物理内存一致,对现在动不动就16G,32G来说,的确是太紧张了,只能增加一些虚拟内存了,当然用文件方式是最好的了,下面基本上都是参照一些网络上的介绍:
1、创建SWAP文件(我的/HOME比较大,所以就放在HOME下了),命令如下:
mkdir swap
cd swap
sudo dd if=/dev/zero of=swapfile bs=1024 count=4066544
备注:count为swap文件的大小
会出现以下提示(当时没有截屏,这是从网上复制的):
记录了 xxxxxxxxx 的读入
记录了 xxxxxxxxx 的写出
xxxxxxxxxxx 字节 (xxxx) 已复制,xxxxx 秒,xxxxx MB/秒
2、把生成的文件转换成SWAP文件
sudo mkswap swapfile
mkswap是在那个空白文件的基础上,建立swap的文件系统
3、激活swap文件(可以用 free -M 先查看现有swap的大下,完成后再查看激活新的大小):
sudo swapon swapfile
4、修改/etc/fstab,实现自动挂载:
sudo gedit /etc/fstab
在文件中后面加入:
/home/username/swap/swapfile swap swap defaults 0 0
最前面是实际创建的swapfile文件路径
5、OK!
6、如果不需要自动挂载,可以省掉第四步,如果想临时用完后卸载此swap文件,可以在swap目录下用如下命令:
sudo swapoff swapfile
参考文章:
http://www.iteye.com/topic/618274
http://linux.chinaunix.net/techdoc/beginner/2009/03/16/1101460.shtml
http://blog.chinaunix.net/uid-22816738-id-3890585.html