CentOSにインストールされたMTImage::Magickを利用するところで躓いています。

解決方法をご存知の方いましたら教えてください。

yumからインストールを行った後に、「perl -e 'use Image::Magick; print $Image::Magick::VERSION;' ; echo」を実行したのですが以下のエラーが表示されます。
----------------
エラー内容
----------------
Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Image/Magick/Magick.so' for module Image::Magick: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Image/Magick/Magick.so: undefined symbol: BZ2_bzerror at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
at -e line 1
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
&Image::Magick::constant not defined. The required ImageMagick libraries are not installed or not installed properly.
END failed--call queue aborted at -e line 1.
----------------

「mt-check.cgi」でチェックしてみても「サーバーに Image::Magickか、Image::Magickの動作に必要な他のモジュールがインストールされていません。 アップロードした画像のサムネイルを作成する場合に必要となります。 Image::Magickのインストールはインストールマニュアルに沿って行ってください。」と表示されたままでした。

回答の条件
  • 1人20回まで
  • 登録:
  • 終了:2009/02/28 12:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt
  1. libjpegはインストール済みですか?
  2. "mt.cfg" の "ImageDriver NetPBM" をコメントアウトしていますか?

ImageMagickのインストール(MTでサムネイル表示) 」を参考にしてください。

id:tobisugi

返信遅くなってしまい申し訳ございません。

回答ありがとうございます。

>1. libjpegはインストール済みですか?

libjpegはインストール済みでした。

----------------

libjpeg.i386     6b-33  installed

libjpeg-devel.i386  6b-33  installed

----------------

コメントに書かれていたbzip2も確認したところインストール済みでした。

----------------

bzip2.i386  1.0.2-14.el4_7  installed

bzip2-devel.i386  1.0.2-14.el4_7  installed

bzip2-libs.i386  1.0.2-14.el4_7  installed

----------------

>2. "mt.cfg" の "ImageDriver NetPBM" をコメントアウトしていますか?

mt-config.cgiに「ImageDriver ImageMagick」を追記してみたのですが現象は変わりませんでした。

教えていただいたURLはすでに確認して試していました。

念のため確認しながらもう一度試してみたいと思います。

質問はこのまま継続したいと思います。

2009/02/23 10:46:48
  • id:tobisugi
    補足です。

    こちらで行ったインストール作業は、「yum install ImageMagick\*」です。
    このコマンドを発行したことで以下のパッケージが組み込まれました。
    ----------------
    Installing:
    ImageMagick i386 6.0.7.1-20.el4 base 2.4 M
    ImageMagick-c++ i386 6.0.7.1-20.el4 base 135 k
    ImageMagick-c++-devel i386 6.0.7.1-20.el4 base 176 k
    ImageMagick-devel i386 6.0.7.1-20.el4 base 1.4 M
    ImageMagick-perl i386 6.0.7.1-20.el4 base 80 k
    ----------------

    以下のライブラリもインストール済みです
    ----------------
    libpng.i386 2:1.2.7-3.el4_5.1 installed
    libpng-devel.i386 2:1.2.7-3.el4_5.1 installed
    zlib.i386 1.2.1.2-1.2 installed
    zlib-devel.i386 1.2.1.2-1.2 installed
    ----------------

    最後にバージョンを書きたいと思います
    ----------------
    CentOS/release 4.5 (Final)
    Apache/2.0.52
    Movable Type/4.23-ja
    Perl/5.8.8
    ----------------
  • id:tobeoscontinue
    bzip2(libbz2)はインストールされてますでしょうか。(CentOSではパッケージ名が異なるかも?)
    BZ2_bzerrorが見つからないためにMagick.soがロード出来ずにエラーになっているのではないかと思います。
  • id:tsukasa57
    手元の VMWare に CentOS release 5.2 (Final) があったので yum install ImageMagick\* を試して見たけど
    > perl -e 'use Image::Magick; print $Image::Magick::VERSION;' ; echo
    6.2.8

    と普通に表示されてしまいました...。BZ2_bzerror って、bzip2 関係のエラーっぽいから bzip2 が足りないのかもしれませんね...
  • id:tobeoscontinue
    perlを使ってないので確信がないのですが考えられるものを上げてみます。

    http://slashdot.jp/~Ab./journal/367578
    ldd /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Image/Magick/Magick.so
    lddを叩いてnot foundが出るようならLD_LIBRARY_PATHにlibbz2.soへのパスを設定してみる

    http://qz.tsugumi.org/Perl_Archive_Tar.html
    bzip2は非標準モジュールのようなのでインストールしてみる(関係ないかも)

    http://linux.ohwada.jp/modules/smartsection/item.php?itemid=399
    Perl Module の衝突が一番考えられそうだけど。
  • id:tobisugi
    tobeoscontinue様 tsukasa57 様

    回答ありがとうございます。
    上記確認してみたいと思います。

    同じ環境のはず・・・の別サーバーを構築して試してみたところ、「yum install ImageMagick\*」だけで動くようになりました。

    そちらと比較しながら確認してみたいと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません