http://qs321.pair.com?node_id=963766


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

No, I got it with the BerkeleyDB installation.

Which one?

What do you get when you run  dumpbin /EXPORTS ...libdb.lib , do you get db_version?

Does  findstr /s /m /i /l db_version C:\PROGRA~2\Oracle\BERKEL~1.15\lib\* list any matches?

What did you edit in config.in?

Replies are listed 'Best First'.
Re^4: Install CPAN BerkeleyDB module on Windows 7 (64 bit)
by Anonymous Monk on Apr 08, 2012 at 10:04 UTC
    The findstr command lists:
    C:\PROGRA~2\Oracle\BERKEL~1.15\lib\libdb53.lib
    Summar of dumpbin command:
    Summary C6 .debug$S 14 .idata$2 14 .idata$3 4 .idata$4 4 .idata$5 C .idata$6
      BTW, dumpbin produced lots of output... Please let me know if there's anything specific I need to look for. Thanks.
Re^4: Install CPAN BerkeleyDB module on Windows 7 (64 bit)
by Anonymous Monk on Apr 08, 2012 at 10:11 UTC
    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

      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.