http://www.perlmonks.org?node_id=963983


in reply to Re^3: Install CPAN BerkeleyDB module on Windows 7 (64 bit)
in thread Install CPAN BerkeleyDB module on Windows 7 (64 bit)

My config.in looks like this-
# Filename: config.in # # written by Paul Marquess <Paul.Marquess@btinternet.com> # 1. Where is the file db.h? # # Change the path below to point to the directory where db.h is # installed on your system. #INCLUDE = /usr/local/include #INCLUDE = ../.. INCLUDE = C:\PROGRA~2\Oracle\BERKEL~1.15\include # 2. Where is libdb? # # Change the path below to point to the directory where libdb is # installed on your system. #LIB = /usr/local/lib #LIB = ../.. LIB = C:\PROGRA~2\Oracle\BERKEL~1.15\lib # 3. Is the library called libdb? # # If you have copies of both 1.x and 2.x Berkeley DB installed on # your system it can sometimes be tricky to make sure you are using # the correct one. Renaming one (or creating a symbolic link) to # include the version number of the library can help. # # For example, if you have Berkeley DB 2.6.4 you could rename the # Berkeley DB library from libdb.a to libdb-2.6.4.a and change the # DBNAME line below to look like this: # # DBNAME = -ldb-2.6.4 # # Note: If you are building this module with Win32, -llibdb will be # used by default. # # If you have changed the name of the library, uncomment the line # below (by removing the leading #) and edit the line to use the na +me # you have picked. #DBNAME = -ldb-3.0 DBNAME = -ldb53 # end of file config.in

Replies are listed 'Best First'.
Re^5: Install CPAN BerkeleyDB module on Windows 7 (64 bit)
by Anonymous Monk on Apr 08, 2012 at 11:01 UTC

    DBNAME = -ldb53

    That should probably be DBNAME = -llibdb53.lib

      Tried that too. 'nmake' fails with:
      .... .... Creating library blib\arch\auto\BerkeleyDB\BerkeleyDB.lib and objec +t blib\arc h\auto\BerkeleyDB\BerkeleyDB.exp BerkeleyDB.obj : error LNK2001: unresolved external symbol __heap_exis +t 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_crea +te 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 unre +solved ext ernals NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual S +tudio 10.0 \VC\Bin\amd64\link.EXE"' : return code '0x460' Stop.

        :) i don't believe it (:

        Especially the ... part

        I suggest you try building libdb yourself, and if you can manage that, try building BerkeleyDB.pm yourself , that is what I do with mingw32, it works every time