Perl - *DBM_Fileのインストール
Perl にはコアモジュールとして DB_File, GDBM_File, NDBM_File, ODBM_File, SDBM_Fileがある。 しかし、SDBM_File 以外は適切なライブラリ、ヘッダーがないとインストールされない。
例えば、ubuntu 12.04 にplenvでインストールした perl だと
% perl -le 'map { print eval("use $_; 1") ? "OK" : "NG", " $_" } qw(DB_File GDBM_File NDBM_File ODBM_File SDBM_File)' NG DB_File NG GDBM_File NG NDBM_File NG ODBM_File OK SDBM_File
みたいになってた。
せっかく用意されてるのだからこれらもperl と一緒にインストールしたい。
ということで外部ライブラリ、ヘッダーを$MY_MISC に入れた後、perl を $MY_PERL にインストールしてみる。
berkeley-db, gdbm のインストール
% export MY_PERL=$HOME/.plenv/versions/custom5.18.0 % export MY_MISC=$HOME/.plenv/versions/custom5.18.0/misc % mkdir -p $MY_PERL $MY_MISC % wget http://download.oracle.com/berkeley-db/db-5.3.21.tar.gz % tar xzf db-5.3.21.tar.gz % cd db-5.3.21/docs % ../dist/configure --prefix=$MY_MISC % make && make install % cd ../.. % wget ftp://ftp.gnu.org/gnu/gdbm/gdbm-1.10.tar.gz % tar xzf gdbm-1.10.tar.gz % cd gdbm-1.10 % ./configure --prefix=$MY_MISC --enable-libgdbm-compat % make && make install % cd ..
perlのインストール
% wget http://www.cpan.org/src/5.0/perl-5.18.0.tar.gz % tar xzf perl-5.18.0.tar.gz % cd perl-5.18.0 % ./Configure -de \ -Dprefix=$MY_PERL \ -Dlocincpth=$MY_MISC/include \ -Dloclibpth=$MY_MISC/lib \ -Aldflags="-Wl,-rpath,$MY_MISC/lib" \ -A"eval:scriptdir=$MY_PERL/bin" % make && make test && make install
結果
% $MY_PERL/bin/perl -le 'map { print eval("use $_; 1;") ? "OK" : "NG", " $_" } qw(DB_File GDBM_File NDBM_File ODBM_File SDBM_File)' OK DB_File OK GDBM_File OK NDBM_File OK ODBM_File OK SDBM_File