プロが教えるわが家の防犯対策術!

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

どうぞ、よろしくお願いいたします。

A 回答 (4件)

@INCは、モジュールやライブラリを置くデフォルトのパスのリストです。

内容は、perl -e 'print "$_," foreach @INC;'等で表示させてみると良いでしょう。また、findで見つけられなかったと言う事ですが、locateではどうでしょうか。locate Image/Magick.pm等とやってみてください。

Perlでは、モジュール名称とディレクトリ構造に相関が有り、::がディレクトリ区切りも表します。従って、Image::Magickモジュールは、@INC内のImage/Magick.pmが本体と言う風に、すぐに分かります。
    • good
    • 0
この回答へのお礼

> 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.
となってしまいました。

いずれにせよ、非常に手間のかかる問題に、懇切丁寧にお付き合いくださり、本当にありがとうございました。

お礼日時:2005/02/16 23:41

mt-check.cgiでは、恐らくuse等の成功でモジュール利用の可否を調べているのだと思います。

だとすれば、入っていると判断されるのは実際にImage::Magickが存在しているからとなります。ImageMagick本体の導入が終わっているとの事ですので、これの正常動作を仮定するなら、まずImage::Magickモジュールを(手動で)削除してどうなるか試してみると良いでしょう。Image::Magickモジュールは@INCのどこかにありますので、探してみてください。その後、必要ならモジュールの再インストール作業をしてみてください。

モジュールのインストール自体には失敗しているということなので、何か原因があります。エラーメッセージがある程度のヒントにはなりますので、まずはそれを読み解決に当たってください。また、メッセージをそのままコピーしてウェブで検索すると、同じ問題で困っている人の情報が得られる事があります。有用な情報である事が比較的多いので、探してみると良いでしょう。

この回答への補足

アドバイスありがとうございます。@INCというものが良く分からないのですが、パスかファイルの名前なのでしょうか?
>find -nameでは、見つけられませんでした。お手数ですが、どうぞよろしくお付き合いください。

補足日時:2005/02/15 16:09
    • good
    • 0

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がインストールされています、と表示されました。これは、本体を入れると自動的にモジュールも入ったということなのでしょうか?

補足日時:2005/02/14 15:22
    • good
    • 0

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でサムネイル作成時に、やはりエラーが出てしまいます。

補足日時:2005/02/14 15:16
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!