- ベストアンサー
Image::Magickのインストールについて
Image::Magickモジュールのインストールについてお伺いします。目的は、MovableTypeでの使用のためです。 [経緯] CPANでインストールしようとしたらエラーが出たので、/.configure、make、make installでインストールしました(結果は成功、バージョンは、6.1.9)。しかしMovableTypeで画像のサブネイル作成時にエラーが出てしまいました。そこで一旦、make uninstallを行い、再びCPANでインストールを試みましたが、やはりインストールは成功しませんでした。 そこで、良く理解できないままに、CPANで > force install Image::Magick とやってしまいました。結果はやはりエラーとなりました。 [問題] 上記の操作が原因なのか、mt-check.cgiで確認すると、入っていない状態にもかかわらずImage::Magickがインストールされていると表示されてしまいます(入っていると表示されるバージョンは6.1.9です)。 [希望する解決策] 現在の状況から脱し、Image::Magickを正しく機能するようにインストールする方法をお伺いしたいです。もしくは、mt-check.cgiでImage::Magickが入っていない状態であると、現状通りに認識される方法でも構いません。 [マシンの構成] IO-DATAのLANDISKをサーバ化しています。 LINUXはDebianです。以下がphpinfoで取得したsystemです。 Linux landisk 2.4.21 #46 Thu Dec 25 14:39:35 JST 2003 sh4 どうぞ、よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
@INCは、モジュールやライブラリを置くデフォルトのパスのリストです。内容は、perl -e 'print "$_," foreach @INC;'等で表示させてみると良いでしょう。また、findで見つけられなかったと言う事ですが、locateではどうでしょうか。locate Image/Magick.pm等とやってみてください。 Perlでは、モジュール名称とディレクトリ構造に相関が有り、::がディレクトリ区切りも表します。従って、Image::Magickモジュールは、@INC内のImage/Magick.pmが本体と言う風に、すぐに分かります。
その他の回答 (3)
- hikomin
- ベストアンサー率63% (40/63)
mt-check.cgiでは、恐らくuse等の成功でモジュール利用の可否を調べているのだと思います。だとすれば、入っていると判断されるのは実際にImage::Magickが存在しているからとなります。ImageMagick本体の導入が終わっているとの事ですので、これの正常動作を仮定するなら、まずImage::Magickモジュールを(手動で)削除してどうなるか試してみると良いでしょう。Image::Magickモジュールは@INCのどこかにありますので、探してみてください。その後、必要ならモジュールの再インストール作業をしてみてください。 モジュールのインストール自体には失敗しているということなので、何か原因があります。エラーメッセージがある程度のヒントにはなりますので、まずはそれを読み解決に当たってください。また、メッセージをそのままコピーしてウェブで検索すると、同じ問題で困っている人の情報が得られる事があります。有用な情報である事が比較的多いので、探してみると良いでしょう。
補足
アドバイスありがとうございます。@INCというものが良く分からないのですが、パスかファイルの名前なのでしょうか? >find -nameでは、見つけられませんでした。お手数ですが、どうぞよろしくお付き合いください。
- hikomin
- ベストアンサー率63% (40/63)
ImageMagick自体のインストールは終わっていますか? Image::MagickはImageMagick本体へアクセスするモジュールなので、ImageMagick本体がインストールされていなければ動きません。
補足
すみません、良く分かっていないのですが、ソースからインストール(./configure、make、make install)した時は、http://www.imagemagick.orgから、ImageMagick-6.1.9-4.tar.gzをダウンロードしました。これはImageMagick本体だと思うのですが。これを入れただけでmt-check.cgiでは、Image::Magickがインストールされています、と表示されました。これは、本体を入れると自動的にモジュールも入ったということなのでしょうか?
OSがDebianとのことなので # apt-get -f install imagemagick でインストールできそうですが どうでしょ 後は、RPMを探すというのも http://www.imagemagick.org/www/download.html
補足
はい、apt-getでもインストールできました。 しかし、apt-getでインストールしたバージョンは6.1.9より前のバージョンにもかかわらず、mt-check.cgiでは、6.1.9がインストールされていると表示されてしまいます。また、MovableTypeでサムネイル作成時に、やはりエラーが出てしまいます。
お礼
> locate Image/Magick.pm で表示されたImage/Magick.pmを消してみました。 その結果、mt-check.cgiでImage::Magickがインストールされていませんと表示されるようになりました。ありがとうございます。 ちなみに、 > perl -e 'print "$_," foreach @INC;' とやると、 Type of arg 1 to each must be hash (not array dereference) at -e line 1, near "@INC;" Execution of -e aborted due to compilation errors. となってしまいました。 いずれにせよ、非常に手間のかかる問題に、懇切丁寧にお付き合いくださり、本当にありがとうございました。