• ベストアンサー

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 どうぞ、よろしくお願いいたします。

  • Perl
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • hikomin
  • ベストアンサー率63% (40/63)
回答No.4

@INCは、モジュールやライブラリを置くデフォルトのパスのリストです。内容は、perl -e 'print "$_," foreach @INC;'等で表示させてみると良いでしょう。また、findで見つけられなかったと言う事ですが、locateではどうでしょうか。locate Image/Magick.pm等とやってみてください。 Perlでは、モジュール名称とディレクトリ構造に相関が有り、::がディレクトリ区切りも表します。従って、Image::Magickモジュールは、@INC内のImage/Magick.pmが本体と言う風に、すぐに分かります。

terayamada
質問者

お礼

> 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. となってしまいました。 いずれにせよ、非常に手間のかかる問題に、懇切丁寧にお付き合いくださり、本当にありがとうございました。

その他の回答 (3)

  • hikomin
  • ベストアンサー率63% (40/63)
回答No.3

mt-check.cgiでは、恐らくuse等の成功でモジュール利用の可否を調べているのだと思います。だとすれば、入っていると判断されるのは実際にImage::Magickが存在しているからとなります。ImageMagick本体の導入が終わっているとの事ですので、これの正常動作を仮定するなら、まずImage::Magickモジュールを(手動で)削除してどうなるか試してみると良いでしょう。Image::Magickモジュールは@INCのどこかにありますので、探してみてください。その後、必要ならモジュールの再インストール作業をしてみてください。 モジュールのインストール自体には失敗しているということなので、何か原因があります。エラーメッセージがある程度のヒントにはなりますので、まずはそれを読み解決に当たってください。また、メッセージをそのままコピーしてウェブで検索すると、同じ問題で困っている人の情報が得られる事があります。有用な情報である事が比較的多いので、探してみると良いでしょう。

terayamada
質問者

補足

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

  • hikomin
  • ベストアンサー率63% (40/63)
回答No.2

ImageMagick自体のインストールは終わっていますか? Image::MagickはImageMagick本体へアクセスするモジュールなので、ImageMagick本体がインストールされていなければ動きません。

terayamada
質問者

補足

すみません、良く分かっていないのですが、ソースからインストール(./configure、make、make install)した時は、http://www.imagemagick.orgから、ImageMagick-6.1.9-4.tar.gzをダウンロードしました。これはImageMagick本体だと思うのですが。これを入れただけでmt-check.cgiでは、Image::Magickがインストールされています、と表示されました。これは、本体を入れると自動的にモジュールも入ったということなのでしょうか?

noname#205944
noname#205944
回答No.1

OSがDebianとのことなので # apt-get -f install imagemagick でインストールできそうですが どうでしょ 後は、RPMを探すというのも http://www.imagemagick.org/www/download.html

terayamada
質問者

補足

はい、apt-getでもインストールできました。 しかし、apt-getでインストールしたバージョンは6.1.9より前のバージョンにもかかわらず、mt-check.cgiでは、6.1.9がインストールされていると表示されてしまいます。また、MovableTypeでサムネイル作成時に、やはりエラーが出てしまいます。

関連するQ&A

  • VirtualBox上でのImage-Magickインストールについて

    VirtualBox上でのImage-Magickインストールについて。 Mac Snow Leopard上で、virtualbox で windowsXP をインストールし、 Apacke2.2を使ってWeb環境を作成しています。 Perlはstrawberry perl の 5.8 です。 Image-Magick(PerlMagick)をppmを使ってインストールしたのですが、 インストールは成功するのですが、mt-check.cgiでImagekMagickを認識しませんでした。 (CPANでのインストールや、ppmをbribes.org からインストールも試しましたが、こちらはインストールに失敗しましした) 試しに Perlで画像を縮小するスクリプトを実行してみたのですが、 Apacheのエラーログに、「階層が深すぎます。スタックがオーバーフローしました。」 というエラーが出力されていました。 VirtualBoxではなく、純粋に Windows(2000、XP、Vista、7など)にインストールした際には このような現象が起きませんでした。VirtualBoxだからの事でしょうか。 もし回避方法が分かりましたら教えてもらいたいのですが。 よろしくお願いいたします。

  • Image::Magickが突然動作しなくなってしまったので解決策を

    MovableTypeを今まで使用して、画像のサムネイル作成などをおこなっていましたが、突然下記のようなエラーが出るようになってしまいました。 「Internal Server Error・・・・・・・ Apache/1.3.33 Server」 MovableTypeのmt-check.cgiを実行したところ、 このようなメッセージがでます。 「オペレーション・システム: freebsd  Perl のバージョン: 5.6.1  (おそらく) cgiwrap もしくは suexec が有効になっています  Image::Size  サーバには Image::Size がインストールされていました。(バージョン: 2.93).  Image::Magick  サーバには Image::Magick がインストールされていました。(バージョン: 6.2.0).」 MTの他にも、Image::Magickを使ったCGIが動作しません。 サーバーのエラーログをみると、このようなものがありました。 「Can't load '/usr/local/lib/perl5/site_perl/5.6.1/i386-freebsd/auto/Image/Magick/Magick.so' for module Image::Magick: Shared object "libMagick.so.8" not found at /usr/local/lib/perl5/5.6.1/i386-freebsd/DynaLoader.pm line 206. at /usr/local/apache/htdocs/●●.cgi line 1213 Compilation failed in require at /usr/local/apache/htdocs/●●.cgi line 1213. BEGIN failed--compilation aborted at /usr/local/apache/htdocs/●●.cgi line 1213. [Thu Jan 19 11:48:02 2006] [error] [client 210.172.143.2] Premature end of script headers: /usr/local/apache/htdocs/●●.cgi 」 ●●.cgi line 1213 の部分には、use Image::Magickがあります。 今まで、問題なく動作していたので、原因がわかりません。 サーバの設定が突然かわってしまうようなことがあるのでしょうか? また解決策をご存知でしたらぜひよろしくお願いいたします。perlのバージョンは5.6.1です。

    • ベストアンサー
    • Perl
  • Image::Magickの使い方を教えてくださいm(__)m

    CGIプログラミング第2版 P383のサンプル"commute_pie2.cgi"が動きません!! サンプルどおりのスクリプトを作成したのですが、フォーマットが不正というようなエラーになってしまいます。 エラー箇所を突き止めたので見てください。 エラー内容をお見せしたいため、次の簡易スクリプトを作成しました。 #!/usr/bin/perl use Image::Magick; my($mgk) = new Image::Magick(format => "png"); これを実行すると Exception 410: Invalid attribute (format) at /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi/Image/Magick.pm line 66. というエラーメッセージになります。 おそらくフォーマットとして"png"というリテラル値を指定しているが、このリテラル値が誤っているのではと予想しています。 どなたかImage::Magickの使い方を教えてください!! 環境はCD3枚組のRed Hat Linux 8をフルインストールしています。

    • ベストアンサー
    • Perl
  • PerlでImage::Magickを使いたい

    PerlでImage::Magickを使いたい ローカルサーバ上でImage::Magickを使いたいのですが、 設定がうまくいかないので質問です。 Win XP AN HTTPD 1.42p ActivePerl 5.10.1.1007 ImageMagick 6.5.9 Q8 ActivePerlは「C:\usr\local\」以下にインストールしました。 ImageMagickは 「ImageMagick-6.5.9-3-Q8-windows-dll.exe」をダウンロードし、インストールしました。 インストール時に「□Install PerlMagick for ActiveState Perl v5.10.1 build 1007」にチェックを入れました。 インストール場所は初期設定のまま、「C:\Program Files\ImageMagick-6.5.9-Q8」としました。 環境変数の設定が必要との説明を見かけたので、 「MAGICK_HOME」「MAGICK_PATH」を作り、値を「C:\Program Files\ImageMagick-6.5.9-Q8」としました。 set MAGICK_HOME で、 MAGICK_HOME=C:\Program Files\ImageMagick-7.5.9-Q8 と出るのを確認しました。MAGICK_PATHも同様です。 (説明しているサイトが複数あり、表記が違っていたので両方作ってみました) コマンドプロンプトで ppm list すると、 ウ Image-Magick ウ 6.5.9 ウ 9 ウ 863KB ウ site ウ と出てきます。 設定後再起動を行い、MT4のシステムチェックを行うと、 Image::Magick サーバーに Image::Magickか、Image::Magickの動作に必要な他のモジュールがインストールされていません。 アップロードした画像のサムネイルを作成する場合に必要となります。 Image::Magickのインストールはインストールマニュアルに沿って行ってください。 と出てしまいました。 以前perlで作成したcgiも動作しません。 ImageMagickのバージョンを微妙に変えてみるなども試しましたが、もうさっぱりです。 助けてください。お願いします:)

    • ベストアンサー
    • Perl
  • Image::Magickの呼び出し

    前の質問が未解決なのですが、同時に進めていたこちらも行き詰ってしまったので恐縮ながら質問です。 Image::Magickを使用したく、以下のサイトを参考にインストールを試みました。 http://www.ss.iij4u.or.jp/~somali/web/_imagemagick.html (当方の環境は、Win XP Home/Apache 2.0をローカルサーバとし、ActivePerl 5.8.7を使用しています。) しかしページどおりに作業をしても、CGIでuse Image::Magickを書いたラインがエラーを返してきます。Can't locate Image/Magick.pm in @INC (@INC contains: C:/usr/local/lib C:/usr/local/site/lib .) at 【CGIファイルの場所】 と返されていました。 解決のために以下のことを確認・実行しました。 (1)(インストーラではチェックを入れたのに)PerlMagickがPerlのsite/libにインストールされておらず、C直下のImageMagickフォルダのなかにありました。(アンインストールの上再インストールをしても同様) よってPerlMagickフォルダ内のReadMeに倣い、PPMからImageMagick.ppdを実行、インストールしました。PPMからquery *を実行すると、ちゃんとインストールされているのが確認できました。 (2)Magick.pmの入っているImageフォルダをC:\Perl\binフォルダの中にコピーし、サーバを再起動。(C:\Perl\binにパスが通っていることは、コマンドラインからPATHを実行して確認済。) それでもやはり動きません…。PCを再起動しても同様です。同じエラーが返ってきます。 モジュールを使うのは初めてで、CPANなどよくわからない部分も多いのですが、もうこれ以上何をしたらいいのかわかりません…。 何か解決策をご存知の方いらっしゃいましたらよろしくご教授下さい。

    • 締切済み
    • CGI
  • image::magickのイントール方法

    初めまして、陸奥と言います。 image::magickを利用したCGIの動作確認を行いたくてサーバに インストールを試みようとしているのですが、image::magickが 上手くインストールできなくて困っています。 ググって色んなサイトのイントール方法を試みてはいるのですが ActivePerlやimage::magickのバージョン等の違いからくる相性 の為なのか? インストール方法(PPM)が悪いのか理解できません。 インストール方法の良きアドバイスを頂けたら幸いです。 OS:WinXP SP3 WWW:Apache2.2 Perl:ActivePerl5.8.6

  • Image::Magickの入手法

    Image::Magickが必要なCGIを設置したのですが、 いろいろと探してみたのですが、いろいろあってどれをダウンロードしたらいいのか分かりません。 手当たり次第にサーバーにUPしても500エラーで表示出来ません。 利用してるサーバーではImage::Magickの利用は可能、パスはusr/bin/convert CGIを動かす為のImage::Magickを何処から入手したらいいのか教えて下さい。 以下が問題のCGIです。CAPTCHAを動かすのにImage::Magickが必要らしいです。 http://gingateikoku.com/cgi-bin/bbsnote.zip

    • ベストアンサー
    • CGI
  • とほほさんのWWWUPLでImage::Magick

    こんにちは。 とほほさんのWWWUPLをベースに、Image::Magickを使って画像を縮小し、画像ファイルをアップロードすることを考えています。 http://www.tohoho-web.com/cgi/wwwupl2.txt どのように書いたらいいのかわからないので、質問させて頂きました。 ご教授宜しくお願いします。 尚、サーバーには、Image::Magickインストール済みです。

  • XAMPPでImageMagickをインストールしたい

    XAMPPでMovalbeTypeを動かそうとしています。 Perlのアドオンを追加して、MTが動かせそうなところまで来たのですが、 「サーバーに、「Image::Magick」がインストールされていないか、「Image::Magick」に必要なモジュールがインストールされていません 「Image::Magick」は、画像をアップロードする際のサムネイル自動作成のために必要です。「Image::Magick」をインストールする場合は、インストール手順を参照してください。」 と出ていてます。 せっかくだからImageMagickも使えるようにしたいのですが、どうすればいいのでしょうか? 試したことは以下です。 ・追加したPerlのアドオンには、 Image/Magick/Thumbnail/Fixed が入っている。(これは違うのかな?) ・CPANからImage::Magick からMagick.pmをダウンロードして、 該当フォルダ?(C:\xampp\perl\site\lib\Image\)に入れて、apacheの再起動をしても変化なし です。 是非ともよろしくお願いします。

    • ベストアンサー
    • Perl
  • Windows7 XAMPP使用、ImageMagickインストール

    Windows7 XAMPP使用、ImageMagickインストール MovableType5をローカル環境で使用するために、XAMPPを使用してImage::Magickをインストールしたいのですが、全然うまくいきませので詳しい方がいましたら教えてください。 OS WINDOWS 7 64bit XAMPP Version 1.7.3 (C:\xampp) ActivePerl-5.10.1.1007-MSWin32-x64-291969.msi (C:\usr\lib\ActivePerl) ImageMagick-6.6.2-10-Q16-windows-x64-dll.exe (C:\ProgramFiles\ImageMagick-6.6.2-10-Q16) ActivePerlインストール後に、ImageMagickをインストール。(途中、「Install PerlMagick for ActiveState Perl v5.10.1 build 1007」を選択。) 参考サイト http://likealunatic.jp/2010/03/xampp_and_mt_2.php 現在の環境変数PATHは、C:\Program Files\ImageMagick-6.6.2-Q16 また、ActivePerlとの対応バージョンがあるとのことだったので、何通りか(x64-dll.exe) 試してみたりもしました。(その度、再起動&環境変数の削除) 最終的に、Movable Type システムチェック [mt-check.cgi]で、サーバーに Image::Magickか、Image::Magickの動作に必要な他のモジュールがインストールされていません。 となったままです。

専門家に質問してみよう