make collect2: ld terminated with signal 9 错误解决办法
原因:
signal 9 错误是由于交换区空间不足导致,扩展交换区大小即可
解决方法搬运自http://www.361way.com/increase-swap/1957.html
增加swap大小的方法有两种,一种是已经分过swap交换分区,不过分配不合理,所以可以通过增加swap文件来增加交换分区的大小;另一种方法是通过增加swap分区大小来增加swap的大小。
方法一、通过swap文件增加:
1、创建交换文件
[root@gataway ~]# dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096 4096+0 records in 4096+0 records out 4294967296 bytes (4.3 GB) copied, 59.694 seconds, 71.9 MB/s
当然根据bs指定的大小不同,我们也可以通过下面的文件增加:
dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096 (增加4G)或 dd if=/dev/zero of=swapfile bs=1024 count=1048576 (增加1G)
2、查看当前分区的大小
[root@gataway ~]# free -m total used free shared buffers cached Mem: 993 962 31 0 2 702 -/+ buffers/cache: 257 736 Swap: 2015 0 2015
3、格式转换并挂载
[root@gataway ~]# mkswap /tmp/mem.swap Setting up swapspace version 1, size = 4294963 kB [root@gataway ~]# swapon /tmp/mem.swap
4、三种确认是否增加成功的方法
[root@gataway ~]# swapon -s Filename Type Size Used Priority /dev/mapper/VolGroup00-LogVol01 partition 2064376 124 -1 /tmp/mem.swap file 4194296 0 -2 [root@gataway ~]# free -m total used free shared buffers cached Mem: 993 967 26 0 4 703 -/+ buffers/cache: 259 734 Swap: 6111 0 6111 [root@gataway ~]# cat /proc/swaps Filename Type Size Used Priority /dev/mapper/VolGroup00-LogVol01 partition 2064376 124 -1 /tmp/mem.swap file 4194296 0 -2
以上不难看出,第一、三两种方法效果相同。linux/unix的一个奇妙之处也在此,很多命令和直接查看某些文件或更改某些文件的值,效果是一样的。
以上操作,在系统重启后,swap文件的大小又会变回原大小,我们可以在/etc/fstab里增加下面的配置,使其重启后,我们刚刚的配置仍然有效。
/tmp/mem.swap swap swap defaults 0 0
如果想卸载掉上面的分区,可以通过swapoff完成
[root@gataway ~]# swapoff /tmp/mem.swap
方法二、通过fdisk增加swap分区
该方法和方法一主要操作步骤大同小异。不过该方法要求硬件目前有未分配的空间。
1、我们先通过fdisk新增分区
fdisk /dev/sda Command (m for help): n
通过n新建分区,选择为主分区,分区ID为82,即swap分区。保存退出。接着对新建的分区进行格式化并挂载
mkswap /dev/sda4
swapon /dev/swap
完成后,参照方法一里的查看方法进行查看确认。新增完成后,在/etc/fstab里新增如下配置
/dev/sda4 swap swap defaults 0 0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~