ImageMagick

なんだかよくわからない。
同じ時期に購入したMacPro、2台、なぜか、片方はすんなりほとんどの部品どもが導入可能、に対して、もう1台は1度ではなかなか導入が完了しない。

某学会のWebサイトを補助するためにMT4を利用している。このサーバがひねくれもの。
レスボンスが異常に遅い、と、事務局から苦情が来て、試してみると、確かにおそぉ〜い。
再構築すると、途中で何度かログインしなければならないし、さらに、完了したというページが真っ白。
で、(やっと)ログをみると、Image::Magick::AUTOLOADがメモリーのオーバーフローを起こしていた!
Deep recursion on subroutine “Image::Magick::AUTOLOAD” at /usr/local/lib/perl5/site_perl/5.8.8/perl(4298) malloc: *** vm_allocate(size=8421376) failed (error code=3)
perl(4298) malloc: *** error: can’t allocate region
perl(4298) malloc: *** set a breakpoint in szone_error to debug
Out of memory!

うーん、困った。
そう言えば、perl 5.8.8も5.10.0も、うまく導入できなかった…ので、強引に導入したかも…

仕方ないので、再導入、することに、した。

サーバは、使っている人がいないときにしかメンテナンスできない。
自分の授業のビデオをエンコードしながら、夜中に作業する。
桂枝雀と同じで、自分の授業が一番面白い。ゲラゲラ笑いながら作業できるのはいいね。

perl 5.8.8を導入してみると、結局、エラーが3つ出ていた、が、結局、強引に導入してしまうのであった。
そもそも、make testの時に、Time::HiResでタイムアウトしてしまう。
もう片方の、素直に導入できた機械でperl -Vを実行し、ccflags等を調べ、無駄だろうけれども、長々としたコマンドでMakefileを作った。

sh Configure \
-Accflags=’-fno-common -DPERL_DARWIN -no-cpp-precomp -arch i686 -arch ppc -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include’ \
-Acppflags=’-no-cpp-precomp -fno-common -DPERL_DARWIN -no-cpp-precomp -arch i686 -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/local/include’ \
-de

結局、これでもダメで、Sys::Syslog、CGI、I18N::Collateのテストでエラーになる。
はぅ〜
CPANに期待する。最新版のモジュールを入れちまえ。
が、妙なところで引っかかる。

Use of uninitialized value in concatenation (.) or string at /usr/local/lib/perl5/5.8.8/darwin-2level/Scalar/Util.pm line 30.

…そもそも、cpan shell、の、バージョンを上げられない、(v1.7602)のまま。
…それは我慢することにして…

仕方ないので、force install Scalar::Util、を強行。
これまでに導入したモジュールを一つずつ確認、それなりに導入されていた。

さぁ〜って、問題はっ
メモリーオーバーフローしていた、Image::Magick::AUTOLOAD、だ。
念のため、port upgrade installed、を実行しておく。
READMEによると、

  * Run tests using the installed ImageMagick (‘make install’ must be done
    first!).

らしい。なぁ〜んか、嫌な気分だね。チェックが先だろうて。

./configure –with-perl –with-jpeg –with-png –with-tiff –without-x –without-gslib
make
make install
make check

結果は…
===========================================
All 696 tests behaved as expected (44 expected failures)
===========================================

と、なってくれれば、大成功、なのだが…

===========================================
57 of 696 tests failed
Please report to http://www.imagemagick.org
===========================================

ふん、reportなんてしてやんない。
強行突破、で。

cd PerlMagick && make CC=’gcc’ test

途中、何度も、

sh: line 1: gs: command not found

とは表示されるが…先のmake checkでも同様…

Result: PASS

となった。よしよし。イントール、したれ、えいっ。

make install

mt-check.cgiを実行してみると、ちゃんと導入されているようだ。
後は、ログファイルに先のようなエラーが出ていなければ、安心して眠れる。

某学会のサイトを補助するブログを再構築してみた、ところ、エラーメッセージは出てなかった!
くぅ〜

寝る。


One comment to this article

  1. 神経症性うつ病日記

    on 2012年9月29日 at 23:24:40 -

    ImageMagick-6.5.9-3 JCRISTY/PerlMagick-6.59.tar.gz

    ImageMagickにも泣かされている。 手元の再新メモでは、MacPortsを使って、 port install glib2 port instal…