Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

結論

メモリ不足でリンクが失敗している。対処は
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 が欲しい気も...

UedaTakeyuki
Mais à l’instant même où la gorgée mêlée des miettes du gâteau toucha mon palais, je tressaillis, attentif à ce qui se passait d’extraordinaire en moi. - Marcel Proust: À la recherche du temps perdu
https://atelierueda.uedasoft.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした