LoginSignup
8
4

More than 5 years have passed since last update.

Raspberry Pi でビルドがこんな感じで失敗したときの対処 ”collect2: ld terminated with signal 9 [Killed]”

Last updated at Posted at 2014-06-20

結論

メモリ不足でリンクが失敗している。対処は
1. CPU に偏った(GPUにメモリをあげない)メモリ設定
2. スワップファイルを増やす
前者ですめばラッキーですが、だめなときは後者、ただし物凄く時間がかかります...

経緯

メモリが256MByte しかない初期型 Raspberry Pi 上で ffmpeg をビルドしていて表題の現象でリンクに失敗しました。調べてみるとメモリ不足によるリンクの失敗なのだそうです。
そこで、raspi-config で CPU と GPU のメモリ配分を極端に CPU 側に倒し(GPU 16MByte、残り CPU)にしたのですが現象は変わらず。
仕方がないのでスワップファイルをデフォルトの100MByte から1GByte に増やしたら、なんとか4時間かけてビルドできました

これに4時間かかりました...
pi@raspberrypi /usr/src/ffmpeg $ sudo make
LD  ffmpeg_g
CP  ffmpeg
STRIP   ffmpeg
CC  ffprobe.o
ffprobe.c: In function ‘value_string.isra.11.constprop.16’:
ffprobe.c:256:21: warning: ‘vali’ may be used uninitialized in this function [-Wuninitialized]
LD  ffprobe_g

CP  ffprobe
STRIP   ffprobe
CC  ffserver.o
LD  ffserver_g
CP  ffserver
STRIP   ffserver
pi@raspberrypi /usr/src/ffmpeg $ 

作業

1. メモリ設定の変更

1.1 raspi-config を起動する

pi@raspberrypi /usr/src/ffmpeg $ sudo raspi-config

1.2 こんな画面が開くので、8. Advanced Option を選択

スクリーンショット 2014-06-20 12.18.49.png

1.3 A3 Memory Split を選択

スクリーンショット 2014-06-20 12.19.31.png

1.3 GPU のメモリを 16MByte に設定

スクリーンショット 2014-06-20 12.19.53.png

1.4 下矢印キーで Finish を選択

スクリーンシ![アップロード中 スクリーンショット 2014-06-20 12.19.53.png]()ョット 2014-06-20 12.20.33.png

1.5 Yes でreboot。No で後でリブートしてもよいです

スクリーンショット 2014-06-20 12.20.52.png

2. スワップファイルの増加

$ sudo service dphys-swapfile stop
$ sudo nano /etc/dphys-swapfile
$ sudo service dphys-swapfile start

2.1 dphys-swapfile を止める

2.2 nano editor が開いたら、デフォルトで 100になっている CONF_SWAPSIZE を 1024 に変更

スクリーンショット 2014-06-20 12.35.23.png

2.3 control + o で保存、control + x で nano を終了

2.4 dphys-swapfile を再起動

感想

リンクに物凄く時間がかかってしまうので swap を増やすのは最後の手段なんでしょうけど... メモリ512MByte の raspi が欲しい気も...

8
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4