Delegate failed `"mpeg2encode" "%i" "%o"' をめぐる冒険


ぐぐってもずばりで出てこなかったのでメモ


ImageMagickLinux に入れると最近、画像アップロード処理とかするあたりで Delegate failed `"mpeg2encode" "%i" "%o"' って怒られるぽい。どうも昔は同梱されていた mpeg2vidcodec ってやつがなくなったぽい?

はじめの環境
 ImageMagick 6.3.8
 Rmagick 2.2.2

というわけでこのへん。

http://linux.maruhn.com/sec/mpeg2vidcodec.html

から mpeg2vidcodec 落としてきてインストール。

 su -
 make
 cp mpeg2/src/mpeg2enc/mpeg2encode /usr/local/bin/.

なおるかなぁと思ったけれど、まったく変わらず。おうおう。

いろいろ調べているうちに ImageMagick のバージョンが怪しくなってくる。yum で入れると 6.2.8 になるし、いままではそっちで入れていたので yum で入れ直す。

 cd /usr/local/src/ImageMagic-6.3.8
 make uninstall

してから

 yum install ImageMagick-devel

として ImageMagic 6.2.8 インストール。ついでに rmagick 2.2.2 は 6.3.0 系じゃないと動かないので入れ直す。しかしその前になぜかフォント入れないと怒られるので、TrueType フォントをいれておく。

 w3m http://www.mjmwired.net/resources/mjm-fedora-fc6.html#ttf

msttcorefonts-2.0-1.noarch.rpm をゲット。

 rpm -ivh msttcorefonts-2.0-1.noarch.rpm
 mkdir /usr/share/fonts/default/TrueType
 cp /usr/share/fonts/msttcorefonts/* TrueType/.

として TrueType フォルダにコピー。

 gem install -y rmagick -v=1.15.11

とすると、rmagick が入ります。ここまできてやっとなおった。