end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

DB_File

DB_Fileは Berkely DB を必要としますが、
私の環境のようにこれが /usr/local/BerkeleyDB.4.6 にインストールされている場合、
DB_Fileのmakeで次のようなerrorが出力されます。

[endo@colinux DB_File-1.817]$ make
cp DB_File.pm blib/lib/DB_File.pm
AutoSplitting blib/lib/DB_File.pm (blib/lib/auto/DB_File)
cc -c  -I/usr/local/BerkeleyDB/include \
       -fno-strict-aliasing -pipe \
       -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
       -DVERSION=\"1.817\" -DXS_VERSION=\"1.817\" \
       -fPIC "-I/usr/local/lib/perl5/5.10.0/i686-linux/CORE" \
       -D_NOT_CORE  -DmDB_Prefix_t=size_t -DmDB_Hash_t=u_int32_t   version.c
version.c:30:16: error: db.h: そのようなファイルやディレクトリはありません
make: *** [version.o] エラー 1
[endo@colinux DB_File-1.817]$

DB_File-1.817/README によれば、DB_File-1.817/config.in を編集する必要があるらしい。

 2. You do have Berkeley DB installed, but it isn't in a standard place.
    Solution: Edit config.in and set the LIB and INCLUDE variables to point
              to the directories where libdb.a and db.h are installed.

なので、config.in を編集することで、インストールすることができました。

旧)INCLUDE = /usr/local/BerkeleyDB/include
新)INCLUDE = /usr/local/BerkeleyDB.4.6/include

旧)LIB = /usr/local/BerkeleyDB/lib
新)LIB = /usr/local/BerkeleyDB.4.6/lib