FreeBSD: ffmpeg の core dump 問題、解決してました

FreeBSD上で rtmpdump と ffmpeg を使って、Radikoを自動録音し、Podcast  に変換して iTunesで利用していますが、パッケージメンテナンスがが入ると、その直後にしばしば録音出来ないというトラブルが発生します。

その対策として、rtmpdump と ffmpeg はpkgコマンドが勝手にバージョンアップ出来ないようにlockを掛けているのですが、油断して大量アップデートをそのまま上げてしまうと、rtmpdump や ffmpegが呼ぶライブラリが更新されてしまい、Radikoを録音出来なくなったりします

今回も気が付くと大量のportsパッケージアップデートが発生しており、重要なファイルはロックしてあるので大丈夫だろうと、細かい確認をせずにパッケージメンテナンスを行ったところ、翌日の Radiko 自動録音が失敗。
今回は、libvpx.so.5 が無いとメッセージが表示されます。

大量にアップデートしたログの中に、

pkg: libvpx upgraded: 1.7.0_4 -> 1.8.0

がありました。やっちまったよ〜。

バージョンロックしてある ffmpegが必要とするライブラリを上げてしまったようです。新しくなったライブラリを、旧ファイル名にシンボリックリンクするという手もあるのですが、シンボリックリンクで回避しようとすると、シンボリックリンクを一つ作ると別のライブラリがエラーになるというエンドレスになる可能性があります。
やむを得ず、問題のの元である ffmpeg のバージョンロックを解除して ffmpeg をffmpeg4.0.2_8,1 を4.1.3,1 に上げてみて、core dump したら手動でビルドし直そうと決めました。

pkg upgrade を行ってみたところ、その他のパッケージと一緒にアップデートされました。

pkg: ffmpeg upgraded: 4.0.2_8,1 -> 4.1.3,1

テストしてみたところ、昨年原因究明に苦労した core dump が発生せず、無事にRadikoのフォーマット変換が可能でした。ffmpeg もバージョンアップが進み、問題が解決していたようです。

しかし、毎日使用するコマンドなので不要なアップデートは避けるべき。
今回も関連パッケージまとめてロックしておくことにしました。

コメントを残す