Image::Magick(PerlMagick)解決にむけて
あいかわらず解決しない…。しょうがないから共有ライブラリ全削除の方法をとろうと思う。
ようするにもともとDarwinに入っているPerlに上書きしない形でperl-5.8.0をいれたのがすべての原因らしい。で、しょうがないので上のリンクに書いてあるやり方を試してみる。
1./Library/Perlディレクトリにある、全ての共有ライブラリのファイル=*.bundleを削除。
(必要に応じてroot権限でどうぞ、以下同じ)
2./System/LibraryPerldarwin/CORE/libperl.dylibを削除(上のリンクには/Library/Perl/darwin/CORE/libperl.dylibと書いてあったが、たぶんこれはミス)
3.perl-5.8.0をmake install。こうするとliboerl.dylibが新しく作られる
4.その多の共有ライブラリに関連したモジュールをmake install
または
perl -MCPAN -e 'install (HOGE)'
しかし、以前としてかわらず。ということで、ここはもう一回、ImageMagickをインストールしてみようとおもった<-これがよかったd(^_^)。参考ページ
いままではImageMagickでPerlMagickのコンパイル時にエラーがでていたので、./configure --without-perlでやっていたが、今回はそれをはずして実行。
するとmake install時にlibperl.aがありませんってなエラーがでる(以下参照)
Writing Makefile for Image::Magick
( cd PerlMagick && make CC='cc' PerlMagick )
/usr/bin/perl -I/System/Library/Perl/darwin -I/System/Library/Perl
/System/Library/Perl/ExtUtils/xsubpp -typemap
/System/Library/Perl/ExtUtils/typemap Magick.xs > Magick.xsc && mv
Magick.xsc Magick.c
cc -c -I../ -I.. -D_REENTRANT -I/usr/local/include -g -pipe -pipe
-fno-common -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing -O3
-DVERSION=\"5.30\" -DXS_VERSION=\"5.30\"
-I/System/Library/Perl/darwin/CORE -DHAVE_CONFIG_H Magick.c
mkdir blib
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Image
mkdir blib/arch/auto/Image/Magick
rm -rf blib/arch/auto/Image/Magick/Magick.a
/usr/bin/ar cr blib/arch/auto/Image/Magick/Magick.a Magick.o &&
/usr/bin/ranlib blib/arch/auto/Image/Magick/Magick.a
chmod 755 blib/arch/auto/Image/Magick/Magick.a
Writing "Makefile.aperl" for this PerlMagick
Warning: /System/Library/Perl/darwin/CORE/libperl.a not found
If you're going to build a static perl binary, make sure perl is
installed
otherwise ignore this warning
Writing Makefile.aperl for Image::Magick
make -f Makefile.aperl PerlMagick
Writing perlmain.c
cd . && cc -c -I/System/Library/Perl/darwin/CORE -g -pipe -pipe
-fno-common -DHAS_TELLDIR_PROTOTYPE -fno-strict-aliasing -O3 \
-DVERSION=\"5.30\" \
-DXS_VERSION=\"5.30\" -I/System/Library/Perl/darwin/CORE perlmain.c
make[4]: *** No rule to make target
`/System/Library/Perl/darwin/CORE/libperl.a', needed by `PerlMagick'.
Stop.
make[3]: *** [PerlMagick] Error 2
make[2]: *** [PerlMagick/PerlMagick] Error 2
make[1]: *** [install-am] Error 2
make: *** [install-recursive] Error 1
だが、これは当然の結果でstatic libraryとしてPerlMagickをperl本体に組み込もうとしていたために発生するエラーらしい。dynamic libraryで自分的にはかまわないので、
参考ページに書いてあるようにMakefile.PLを修正後、
make install
でPerlMagickインストールうまくいきました。結局CPANでエラーが出つづけていたのたは共有ライブラリどうのというよりかは、ImageMagick本体のインストールがCompleteしていなかったためではないだろうか…。
ともかくなんとかなったので、これからはPhotoLog的な使い方もしてみたいと思います。じゃ。
と思ったらアップロードしようとエラーがひたすらでる(涙)。GDと干渉しているらしい…。また次にチャレンジ予定。
以下、メモ
削除にあたって、再構築後にいれなきゃいけないモジュールは以下のとおり。
/Library/Perl//darwin/auto/Apache/Cookie/Cookie.bundle
/Library/Perl//darwin/auto/Apache/Leak/Leak.bundle
/Library/Perl//darwin/auto/Apache/Request/Request.bundle
/Library/Perl//darwin/auto/Apache/Symbol/Symbol.bundle
/Library/Perl//darwin/auto/Compress/Zlib/Zlib.bundle
/Library/Perl//darwin/auto/Data/Dumper/Dumper.bundle
/Library/Perl//darwin/auto/DBD/Pg/Pg.bundle
/Library/Perl//darwin/auto/DBI/DBI.bundle
/Library/Perl//darwin/auto/FCGI/FCGI.bundle
/Library/Perl//darwin/auto/GD/GD.bundle
/Library/Perl//darwin/auto/HTML/Parser/Parser.bundle
/Library/Perl//darwin/auto/Jcode/Unicode/Unicode.bundle
/Library/Perl//darwin/auto/Net/SSLeay/SSLeay.bundle
/Library/Perl//darwin/auto/Term/ReadKey/ReadKey.bundle
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。