□Perl モジュール色々
1.GD
libz, libpng libxpm, freetype1, freetype2 などが入っていることを確認。
libz, libpng, freetype1&2 については □mrtg+GD で記述。
/sbin/ldconfig -p | grep libz
/sbin/ldconfig -p | grep libpng
/sbin/ldconfig -p | grep libXpm
/sbin/ldconfig -p | grep libttf
libxpm のインストールは下記のとおり。
tar xvzf package/libXpm-4.7.tar.gz
cd xpm-3.4g/
xmkmf -a
make
make install
★ここから注意!
GD.pm は、GD の 2.0.1 以上が必要なのだけど、これ以外の
ほとんどのところでは GD の 1.8.x を使っている。必要な
物をそれぞれ入れましょう。
詳しくは「□mrtg+GD」を参照する事
補足:GD.pm のソースを CPAN でもってきてエラーとなった場合 (ToT)
> perl -MCPAN -e shell
:
> cpan> install GD
:
> GD.xs: In function `gd_cloneDim’:
> GD.xs:365: structure has no member named `alpha’
> GD.xs:365: structure has no member named `alpha’
> GD.xs:371: structure has no member named `thick’
> GD.xs:371: structure has no member named `thick’
> GD.xs: In function `XS_GD__Image_copyRotate90′:
> GD.xs:933: invalid lvalue in assignment
> GD.xs:933: invalid lvalue in assignment
> GD.xs: In function `XS_GD__Image_copyRotate180′:
:
というわけ。1.8.x でなくて、2.x.x が最初から「/usr/local/include」
などに入っていればいいんだけど、そこにはいっているのは 1.8.x なので
あります。
そんなんで、GD.pm の入りそこないが ~/.cpan/build/GD-2.xx にあるので、
そこで手動インストールをする。
make clean
perl Makefile.PL
これでできた Makefile の下記の部分に、2.x.x のファイルのありかを追記
してあげればよい。あってればそのままでOK
> INC = -I/usr/include -I/usr/local/include -I/usr/local/include/gd
> EXTRALIBS = -L/usr/lib -L/usr/lib/X11 -L/usr/X11R6/lib …
> LDLOADLIBS = -L/usr/lib -L/usr/lib/X11 -L/usr/X11R6/lib …
> BSLOADLIBS =
> LD_RUN_PATH = /usr/lib:/usr/local/lib:/usr/X11R6/lib:/lib
で、
make
make install
でOK。ちなみにテストをすると
> make: *** [test_dynamic] Error 2
とかいわれてエラーとなるけど、
~/.cpan/build/GD-2.xx/demos/gd_example.cgi
があるので、これをWEB上から見えるところにコピーしてみてみると、
日の丸?を見ることができます。なぜ?
ちなみにパッケージを取ってきて
tar xvzf package/GD.pm.tar.gz
cd GD-2.35/
make clean
perl Makefile.PL
として、サポートタイプに答えて
make
make test
make html
make install
/usr/src/GD-2.35/demos/gd_example.cgi
としても、同様に GD.pm が入ります。
※ライブラリを書き換えるとMRTGとかが動かなくなる可能性があるので
?インストールする場所には注意しましょう。
ほかにも
GD::Text::Align
GD::Text::Wrap
とかも入れましょう。これも CPAN のシェル上ではエラーとなる可能性が
高いですが、同様に ~/.cpan/build/GDTextUtil-0.83/ にありますので、
この中に入ってコンパイル&インストールしてください。
2.XML
XML モジュールをインストールするには、下記のライブラリが別途必要!
(うひー)
> C and/or C++ libraries include XML::Parser, XML::LibXML, XML::LibXSLT
> and XML::Sablotron:
>
> XML::Parser requires the expat library, available from
> expat.sourceforge.net.
>
> XML::LibXML requires the libxml library and XML::LibXSLT requires the
> libxslt library, both available from www.xmlsoft.org.
>
> XML::Sablotron requires the Sablotron library, available from
> www.gingerall.com.
参考:http://sourceforge.net/projects/expat/
tar xvzf package/expat-2.0.1.tar.gz
cd expat-2.0.1/
./configure –prefix=/usr
make buildlib
make installlib
(こいつは /usr/lib 以下に入る)
tar xvzf package/libxml2-2.7.2.tar.gz
cd libxml2-2.7.2/
./configure –prefix=/usr
make
make install
(こいつは /usr/lib 以下に入る)
tar xvzf package/libxslt-1.1.24.tar.gz
cd libxslt-1.1.24/
./configure –prefix=/usr
make
make install
(こいつは /usr/lib 以下に入る)
参考:http://www.gingerall.org/index.html
tar xvzf package/Sablot-1.0.3.tar.gz
cd Sablot-1.0.3/
./configure
make
make install
として、
> perl -MCPAN -e shell
> install Bundle::XML
> install XML::RSS
などとして、XMLモジュールいれましょう。
あとは… XMLわかる人に試してもらえばOKかな?
補足:とりあえず以下のモジュールを入れてみた
このあとの項目で入れるものもあるけれど、とりあえず下記のような
モジュールがニーズがあるらしいので入れておく。
install Archive::Tar
install Compress::Zlib
install Archive::Zip
install MIME::Base64
install MIME::Parser
install Convert::TNEF
install Convert::UUlib
install Mail::Internet
install Net::Server
install Net::SMTP
install Digest::MD5
install IO::Stringy
install Time::HiRes
install Unix::Syslog
install Mail::SpamAssassin?入らない
install Crypt::SSLeay
install HTML::Template
install Authen::Captcha
install DBD::Pg
install DBD::SQLite
install Crypt::DSA
install Net::Trackback
install DBD::mysql
install CGI::Carp
install LWP::Simple
install MIME::Lite
install Net::Jabber
install MQSeries?入らない
install IO::Scalar
install IO::Socket::SSL
install MIME::Parser
install SOAP::Lite
install Crypt::DSA
install XML::Atom
install Image::Size
install Mail::Box?setenv LANG C した方がいいかも
install File::Find::Rule
install Email::Simple
install HTTP::Date
入らないのもあるんだけどね。