Windows 7 (x86_64) PC に BerkeleyDB CPAN モジュールをインストールしようとしましたが、うまくいきませんでした (BerkeleyDB::Hash が必要です)。64 ビットの ActivePerl と Oracle Berkeley DB 11gR2 5.3.15 がインストールされています。最初に、次のコマンドを使用してインストールを試みました。
*cpan install BerkeleyDB*
これはエラーで戻ってきました:
*It looks like the installation of dmake and MinGW has failed. You will not be
able to run Makefile commands or compile C extension code. Please check your
internet connection and your proxy settings!*
そこで、Microsoft Windows SDK for Windows 7 と .NET Framework 4 をインストールしました。
次に、cpanmをインストールしました
*cpan App::cpanminus*
そして、私が実行しようとしたとき:
*cpanm BerkeleyDB*
エラーが発生しました:
*Note (probably harmless): No library found for -llibdb
Note (probably harmless): No library found for bufferoverflowU.lib*
そこで、config.in ファイルを編集し、lib と include パスを次のように変更しました。
*INCLUDE = C:\PROGRA~2\Oracle\BERKEL~1.15\include
LIB = C:\PROGRA~2\Oracle\BERKEL~1.15\lib*
perl makefile.pl を実行すると、-llibdb に関する警告が表示されなくなりました。
実行しようとしたとき:
*nmake*
エラーが発生しました:
*Creating library blib\arch\auto\BerkeleyDB\BerkeleyDB.lib and object blib\arc
h\auto\BerkeleyDB\BerkeleyDB.exp
BerkeleyDB.obj : error LNK2001: unresolved external symbol __heap_exist
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_version
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_strerror
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_env_create
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_create
BerkeleyDB.obj : error LNK2001: unresolved external symbol db_sequence_create
blib\arch\auto\BerkeleyDB\BerkeleyDB.dll : fatal error LNK1120: 6 unresolved ext
ernals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\Bin\amd64\link.EXE"' : return code '0x460'
Stop.*
このモジュールを自分の PC でうまくビルドするという希望はほとんどありませんでした。誰かがこれで幸運でしたか?
どうもありがとう、
SN