BerkeleyDB for Perl10 PPM

Posted by mike.caron on 2008-12-16 11:44
Forums: PPM | OS: Windows

Hi all,

I'm trying to find out where a BerkeleyDB PPM is for ActivePerl 5.10. Anyone have a clue where to find this?

I had found a lead at http://trouchelle.com/perl/ppmrepview.pl?l=berkeleydb&v=10. They claim BDB 0.33 was built ok for perl 5.10. They provide a link to the PPM, but not to the supporting zipfile. So I got around it, manually getting http://trouchelle.com/ppm10/MSWin32-x86-multi-thread-5.10/BerkeleyDB.ppm and http://trouchelle.com/ppm10/BerkeleyDB-0.33.zip and running ppm install on the ppm file. That didn't work because the dll provided in the zip can't be loaded. I've attached those two downloaded files as a zip.

I'm pretty frustrated as BerkeleyDB should be provided, but I can't find anything about it. Where is this module for Perl 5.10? Are there issues with it in 5.10 and that's why I can't find it? Does ActiveState want it in the repo?

AttachmentSize
BerkeleyDB-Perl-10.zip218.4 KB

mike.caron | Wed, 2008-12-17 09:50

Oracle has a downloadable MSI that will install a perl module based on Cygwin's compiler. However, if you don't have the cygwin dll, you're hosed.

I gave in and downloaded Oracle's source code. I compiled BDB successfully. Then I grabbed the BerkeleyDB module from CPAN. I tried to build v33, 35, 36 and none worked. In altering the config.in, I set the following values:

   INCLUDE = D:/Development/tools/Oracle/db-4.7.25/build_windows
   LIB = D:/Development/tools/Oracle/db-4.7.25/build_windows/Release
   DBNAME = -ldb47.lib

Compiler output:

Microsoft (R) Program Maintenance Utility Version 8.00.50727.762
Copyright (C) Microsoft Corporation.  All rights reserved.

        cl -c  -ID:/Development/tools/Oracle/db-4.7.25/build_windows  -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_F
CRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1
 -DVERSION=\"0.36\"  -DXS_VERSION=\"0.36\"  "-IC:\Perl510\lib\CORE"   BerkeleyDB.c
BerkeleyDB.c
BerkeleyDB.xs(891) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _C
RT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\string.h(74) : see declaration of 'strcpy'
BerkeleyDB.xs(892) : warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _C
RT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\string.h(79) : see declaration of 'strcat'
BerkeleyDB.xs(894) : warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, us
e _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\stdio.h(345) : see declaration of 'vsprintf'
BerkeleyDB.xs(1328) : warning C4018: '<' : signed/unsigned mismatch
BerkeleyDB.xs(1243) : warning C4101: 'i' : unreferenced local variable
BerkeleyDB.xs(1247) : warning C4101: 'skey_AV' : unreferenced local variable
BerkeleyDB.xs(1248) : warning C4101: 'tkey' : unreferenced local variable
BerkeleyDB.xs(1374) : warning C4101: 'skey_len' : unreferenced local variable
BerkeleyDB.xs(1375) : warning C4101: 'skey_ptr' : unreferenced local variable
BerkeleyDB.xs(1918) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CR
T_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\stdio.h(234) : see declaration of 'fopen'
BerkeleyDB.xs(2284) : warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, u
se _CRT_SECURE_NO_WARNINGS. See online help for details.
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\string.h(126) : see declaration of 'strerror'
BerkeleyDB.xs(2347) : warning C4101: 'av' : unreferenced local variable
BerkeleyDB.xs(2502) : warning C4244: 'function' : conversion from 'time_t' to 'IV', possible loss of data
BerkeleyDB.c(7253) : warning C4101: 'txnp' : unreferenced local variable
BerkeleyDB.xs(4464) : warning C4244: 'function' : conversion from 'time_t' to 'IV', possible loss of data
BerkeleyDB.c(7399) : warning C4101: 'dir' : unreferenced local variable
BerkeleyDB.c(7401) : warning C4101: 'dbenv' : unreferenced local variable
BerkeleyDB.c(7647) : warning C4101: 'dir' : unreferenced local variable
BerkeleyDB.c(7649) : warning C4101: 'dbenv' : unreferenced local variable
BerkeleyDB.xs(4818) : warning C4002: too many actual parameters for macro 'PerlLIO_close'
BerkeleyDB.xs(4818) : error C2059: syntax error : '('
BerkeleyDB.xs(4853) : warning C4002: too many actual parameters for macro 'PerlLIO_close'
BerkeleyDB.xs(4853) : error C2059: syntax error : '('
BerkeleyDB.c(8319) : error C2146: syntax error : missing ';' before identifier 'tmpXSoff'
BerkeleyDB.c(8319) : error C2275: 'PerlInterpreter' : illegal use of this type as an expression
        C:\Perl510\lib\CORE\perl.h(2342) : see declaration of 'PerlInterpreter'
BerkeleyDB.c(8319) : error C2059: syntax error : ')'
BerkeleyDB.c(8323) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8323) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8323) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8323) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8323) : error C2059: syntax error : ')'
BerkeleyDB.c(8324) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8324) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8324) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8324) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8324) : error C2059: syntax error : ')'
BerkeleyDB.c(8325) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8339) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8341) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8364) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8366) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8367) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8373) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8385) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8385) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8385) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8385) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8385) : error C2059: syntax error : ')'
BerkeleyDB.c(8386) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8386) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8386) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8386) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8386) : error C2059: syntax error : ')'
BerkeleyDB.c(8387) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8399) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8401) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8412) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8414) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8415) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8422) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8433) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8433) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8433) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8433) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8433) : error C2059: syntax error : ')'
BerkeleyDB.c(8434) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8434) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8434) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8434) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8434) : error C2059: syntax error : ')'
BerkeleyDB.c(8435) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8448) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8450) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8467) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8469) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8470) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8476) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8485) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8485) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8485) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8485) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8485) : error C2059: syntax error : ')'
BerkeleyDB.c(8486) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8486) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8486) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8486) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8486) : error C2059: syntax error : ')'
BerkeleyDB.c(8487) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8499) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8501) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8512) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8514) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8515) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8521) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8530) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8530) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8530) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8530) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8530) : error C2059: syntax error : ')'
BerkeleyDB.c(8531) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8531) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8531) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8531) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8531) : error C2059: syntax error : ')'
BerkeleyDB.c(8532) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8544) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8546) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8557) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8559) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8560) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8566) : error C2005: #line expected a line number, found 'string'
BerkeleyDB.c(8578) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8578) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8578) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8578) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8578) : error C2059: syntax error : ')'
BerkeleyDB.c(8579) : error C2143: syntax error : missing ')' before '*'
BerkeleyDB.c(8579) : error C2143: syntax error : missing '{' before '*'
BerkeleyDB.c(8579) : error C2371: 'CV' : redefinition; different basic types
        C:\Perl510\lib\CORE\perl.h(2354) : see declaration of 'CV'
BerkeleyDB.c(8579) : error C2143: syntax error : missing ';' before '*'
BerkeleyDB.c(8579) : error C2059: syntax error : ')'
BerkeleyDB.c(8580) : error C2054: expected '(' to follow 'cv'
BerkeleyDB.c(8580) : fatal error C1003: error count exceeds 100; stopping compilation
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

Yuk.

jackcwang | Fri, 2009-04-24 00:26

DB_FILE from trouchelle.com works for me. BerkeleyDB complains that libdb45.dll doesn't exist.

ppm rep add trouchelle.com http://trouchelle.com/ppm10/
ppm install http://trouchelle.com/ppm10/DB_FILE.ppd

mike.caron | Fri, 2009-04-24 05:34

Thanks jackcwang! This is good news, as I didn't know about that module at all. Again, much thanks. I'll give it a try.

boogeyman | Wed, 2009-12-16 13:06

I realize that I'm late to the party, but I'd like to thank jackcwang and mike.caron for their posts. I too was experiencing this problem and I am happy to have it resolved finally!

Have a great day!