“Killed” error during make
When I tried to compile and install libtorrent on CentOS 7 server, I got a “Killed” error like this
1
2
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
Memory exhausted during compiling process
Thanks Jon Combe from Stack Overflow. It occurred me that perhaps the memory isn’t sufficient. Due to the VPS environment, there is only 500 Mb of RAM and 256Mb of swap in total.
Of course, the most easiest way to solve this problem, is to pay more money to the VPS provider. But there’s another way.
Detect if the memory is insufficient
After the make process exited with “Killed” error, run dmesg
immediately to show kernel message. And if you found something like Out of memory: Kill process 23747 (cc1plus)
, that means the problem is just what we are talking about.
You can also run make
in the background, run df -lh
repeatedly.
Spare some space in your storage to swap
First, make a disk image using dd
1
dd if=/dev/zero of=/swapfile bs=64M count=16
Change count=16
to a larger number if more swap space is required.
Then, run
1
2
mkswap /swapfile
swapon /swapfile
Run df -lh
to show the new RAM and swap status.
Clean after use
After compiling, remember to delete the swap image to free your disk space.
1
2
swapoff /swapfile
rm /swapfile