FreeBSD: x264 ビルドでコアダンプ

FreeBSDでラジコ録音のテスト結果に気をよくして、常設サーバーにインストールしようと挑戦中です。

テストマシンは、Atom330 だったため 64bit FreeBSD 9.1 を使用していますが、常設サーバーは K6-2 の32bit FreeBSD 8.3 マシン、インストール作業時間に差は出るものの同じように導入できるだろうと作業を始めましたが、結構違いが出ています。ffmpegパッケージをビルドでインストールしようとすると以下 x264 プラグインがコアダンプしてしまいビルド完了しません。

gmake[1]: ディレクトリ `/usr/ports/multimedia/x264/work/x264-snapshot-20120721-2245-stable' から出ます
./x264 --crf 30 -b1 -m1 -r1 --me dia --no-cabac --direct temporal --ssim --no-weightb --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --crf 16 -b2 -m3 -r3 --me hex --no-8x8dct --direct spatial --no-dct-decimate -t0 --slice-max-mbs 50 --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --crf 26 -b4 -m5 -r2 --me hex --cqm jvt --nr 100 --psnr --no-mixed-refs --b-adapt 2 --slice-max-size 1500 --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --crf 18 -b3 -m9 -r5 --me umh -t1 -A all --b-pyramid normal --direct auto --no-fast-pskip --no-mbtree --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --crf 22 -b3 -m7 -r4 --me esa -t2 -A all --psy-rd 1.0:1.0 --slices 4 --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --frames 50 --crf 24 -b3 -m10 -r3 --me tesa -t2 --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --frames 50 -q0 -m9 -r2 --me hex -Aall --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ; ./x264 --frames 50 -q0 -m2 -r1 --me hex --no-cabac --threads 1 /usr/ports/multimedia/x264/work/example.y4m -o /dev/null ;
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
Illegal instruction (core dumped)
gmake: *** [fprofiled] 不正命令: 4 (コアダンプしました)
*** Error code 1
Stop in /usr/ports/multimedia/x264.
*** Error code 1
Stop in /usr/ports/multimedia/x264.

ラジコ録音に x264 が必要とは思えないので、ffmpeg にて make config して x264 を外してビルドを完了させましたが、ちょっと気に入らないのでどこに原因があるのかだけ探しておくとします。

make config して、オプションメニューを表示させると

[x] ASM
[ ] DEBUG
[ ] GCC44
[x] GPAC
[x] PGO (use profile-guided optimization)
[ ] Enable X11 Output

となっており、コアダンプ時のメッセージ「 [fprofiled] 不正命令」 から考えると PGOのところが怪しい。
PGOのところのチェックを外してビルドし直してみたところ、ビルド完了。PGOソースの中に、32bit OS かK6-2でのコンパイルに問題がある部分を含んでいたものと推測します。まあ、x264がラジコに関係するとは思えないのでこれ以上調査する必要はありませんが、情報をメモしておくことにしました。

追加情報として、graphics/frei0r というビデオプラグインもエラーとなってビルドできなかったこともメモしておきます。

コメントを残す