Perl-5.8.7とDBI Pg XML::Parserのインストール

前回makeに失敗してパッケージでいれてしまったPerlですが、PostgreSQLを入れる際にgmakeが無かったという発見もあったので再度ソースからコンパイルに挑戦することにしました。

そういうことでパッケージのPerlを削除します。
# pkg_info
linux_base-8-8.0_6 Base set of packages needed in Linux mode (only for i386)
perl-5.8.7 Practical Extraction and Report Language

# pkg_delete perl-5.8.7

次にPerlと必要モジュールのダウンロードをします。今回の構成はProject-mmo用のゲームサーバーとしての構築なのでDBIやDBD::Pgの他にFLASHクライアントからのデータを処理するXML::Parserが必要になります。

Perlとモジュールの配布元
http://www.perl.com/CPAN/

Configureで問答するのはイヤなのであらかじめ用意されているconfigure.gnuを利用。
# tar zxvf perl-5.8.7.tar.gz
# cd perl-5.8.7
# ./configure.gnu
# make
# make install

make時に一部errorの表示があったがお構いなし。(後々解析して影響が無いか調べないといけないな)
Perlのインストールが終わったらこれからインストールするモジュールが既に組み込まれていないか確認する。

# find `perl -e ‘print “@INC”‘` -name ‘*.pm’ -print

DBIのインストール

# tar zxvf DBI-1.48.tar.gz
# cd DBI-1.48
# perl Makefile.PL
# make
# make install

DBD::Pgのインストール
# tar zxvf DBD-Pg-1.41.tar.gz
# cd DBD-Pg-1.41
# perl Makefile.PL
# make
# make install

ここまでは順調だったがXML::Parserについてはperl Makefile.PLを実行した段階でexpatが必要と警告が出て止まる。

XML::Parserインストールの前にexpatをインストール
http://sourceforge.net/projects/expat/

# tar zxvf expat-1.95.8.tar.gz
# cd expat-1.95.8
# ./configure
# make
# make install

XML::Parserのインストール

# tar zxvf XML-Parser-2.34.tar.gz
# cd XML-Parser-2.34
# perl Makefile.PL
# make
# make install

これで完了。用意したゲームサーバースクリプトも動作できました。

Perlをソースからインストール

まず、ココを読まれた方にお伝えしたいことがあります。
Perlはソースからインストールするメリットがわかりません。
特にカスタマイズするものではないので特にソースコンパイルに興味が無ければパッケージからインストールしてください。

今回のサーバー構築はスペック的にも厳しいものがあるので、使わないサービスは一切入れないこととパッケージインストールはせず意地ででソースコンパイルという名目もあるので、Perlもソースからコンパイルします。

Perlはhttp://www.perl.com/CPAN/src/より入手。実はWindowsからpscpを使って転送しました。

コンフィグ
./Configure

コンパイル
make

インストール
make install

これだけだと超カンタンに見えますが、実はコンフィグが対話式で沢山の質問に対してyesかnoで答えなければいけません。あまりに面倒なのでデフォルトでいいやと[Enter]連打したら…。

> cd /usr/local/bin
> ls
a2p5.9.2 h2ph5.9.2 perldoc5.9.2 pod2text5.9.2 s2p5.9.2
c2ph5.9.2 h2xs5.9.2 perlivp5.9.2 pod2usage5.9.2 splain5.9.2
corelist5.9.2 instmodsh5.9.2 piconv5.9.2 podchecker5.9.2 xsubpp5.9.2
cpan5.9.2 libnetcfg5.9.2 pl2pm5.9.2 podselect5.9.2
dprofpp5.9.2 perl5.9.2 pod2html5.9.2 prove5.9.2
enc2xs5.9.2 perlbug5.9.2 pod2latex5.9.2 psed5.9.2
find2perl5.9.2 perlcc5.9.2 pod2man5.9.2 pstruct5.9.2

ちょっとまて─────!
こんなんじゃ使いにくいだろボケ───!

という事でやり直しです。 orz…