Mountain Lion で Image::Magick と PHP のトラブル


前回 やっと MovableType の起動までこぎ着けたのですが、まだまだ動作がおかしいです。

MovableType 起動!しかし……

MovableType が起動したのですが、今度は Image::Magick が見つからないとか申しよります。いいよ、もう。わかったって。入れ直せばいいんでしょ。

$ brew doctor
# brew の状態もおかしかったので逐次修正。
$ brew -v install imagemagick
$ cpanm -v Image::Magick
(中略)
Magick.xs:60:10: fatal error: 'magick/MagickCore.h' file not found
#include <magick/MagickCore.h>
^
1 error generated.
make: *** [Magick.o] Error 1

以前もここで引っかかった気がするぞ。Makefile.PL を修正します。

$ cd ~/.cpanm/latest-build/PerlMagick-6.77/
$ vim Makefile.PL
--- Makefile.PL.orig    2012-07-28 09:37:57.000000000 +0900
+++ Makefile.PL 2012-07-28 09:38:03.000000000 +0900
@@ -156,7 +156,7 @@
 }

 # defaults for LIBS & INC & CCFLAGS params that we later pass to Writemakefile
-my $INC_magick = '-I../ -I.. -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
+my $INC_magick = '-I/usr/local/include/ImageMagick -I../ -I.. -pthread -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/graphviz -I/usr/include/freetype2 -I/usr/include/libxml2 -I"' . $Config{'usrinc'} . '/ImageMagick"';
 my $LIBS_magick = '-L../magick/.libs -lMagickCore -lperl -lm';
 my $CCFLAGS_magick = "$Config{'ccflags'} -fopenmp -g -O2 -Wall -pthread";
 my $LDFLAGS_magick   = "-L../magick/.libs -lMagickCore $Config{'ldflags'} -L/usr/lib";
$ perl Makefile.PL
$ make
$ make install

インストール完了です。

DynamicMTML でエラー(?)

IMG_2604.png

vim で編集中

MovableType のエラーは消えたのですが、この前導入したスマートフォンオプションが機能しません。

結論から言うと、これは DynamicMTML で利用している PHP の問題でした。Mountain Lion のインストールにより、/etc/php.ini勝手に消滅し(!)、 設定がデフォルトに戻っていたのでした。

これに気付くのには時間がかかりました。だって、DynamicMTML は(見かけ上)正常に動いているので、エラーメッセージも何も吐かないからです。

外出中に気付いたので、iPhone からサーバーに SSH ログインして修正するという荒技を行いました。持ってて良かった iPhone!

肝心の修正内容はこれ。Lion の時にも起こってたんですかね。気付かんかったけど。


OS X LionでPHPとMySQLの連携に失敗する問題を解決 – あらきんぐのiPhoneアプリ開発ブログ
http://araking56.blog134.fc2.com/blog-entry-151.html

しかし、vi(vim)は iPhone の小さなキーボード & 貧弱な回線でも使いやすいですね。呪文みたいで取っつきにくいですが、複雑な編集が最低限の打鍵数でできるのは魅力です。ちまたでは最早 vi(vim) など時代遅れと言われていますが、サーバー管理用途にはこれからも活躍していくでしょう。

コメントを残す