Skip Menu |

This queue is for tickets about the BerkeleyDB CPAN distribution.

Report information
The Basics
Id: 20988
Status: open
Priority: 0/
Queue: BerkeleyDB

People
Owner: Nobody in particular
Requestors: alexchorny [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.29
Fixed in: (no value)



Subject: nmake fail: 'DBTKEY' : illegal use
perl v5.8.7 built for MSWin32-x86-multi-thread Binary build 813 perl -V attached Berkeley DB 4.4.20: (January 10, 2006) Version: "build_all - Win32 Release" Copied libdb44.dll & others to libdb.*. Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cl -c -I./lib -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRIC T -DHAVE_DES_FCRYPT -DBUILT_BY_ACTIVESTATE -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLI CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1 -DVERSION=\"0.29\" -DXS_VERSION=\"0.29\" "-IC:\Perl\lib\CORE" BerkeleyDB.c BerkeleyDB.c BerkeleyDB.xs(1195) : warning C4101: 'skey_ptr' : unreferenced local variable BerkeleyDB.xs(1194) : warning C4101: 'skey_len' : unreferenced local variable BerkeleyDB.xs(2098) : warning C4101: 'av' : unreferenced local variable BerkeleyDB.xs(3565) : error C2275: 'DBTKEY' : illegal use of this type as an expression BerkeleyDB.xs(346) : see declaration of 'DBTKEY' BerkeleyDB.xs(3565) : error C2146: syntax error : missing ';' before identifier 'end_key' BerkeleyDB.xs(3565) : error C2065: 'end_key' : undeclared identifier BerkeleyDB.xs(3598) : warning C4133: '=' : incompatible types - from 'int *' to 'struct __ db_dbt *' BerkeleyDB.c(5209) : error C2224: left of '.data' must have struct/union type BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setiv' : too few actual parameters BerkeleyDB.c(5209) : error C2224: left of '.size' must have struct/union type BerkeleyDB.c(5209) : error C2224: left of '.data' must have struct/union type BerkeleyDB.c(5209) : error C2224: left of '.size' must have struct/union type BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setpvn' : too few actual parameters NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x2' ------- Alexandr Ciornii, http://chorny.net
Subject: perlV
Download perlV
application/octet-stream 2.6k

Message body not shown because it is not plain text.

From: PMQS [...] cpan.org
On Mon Aug 14 13:33:59 2006, alexchorny@gmail.com wrote: Show quoted text
> perl v5.8.7 built for MSWin32-x86-multi-thread > Binary build 813 > perl -V attached > > Berkeley DB 4.4.20: (January 10, 2006) > Version: "build_all - Win32 Release" > Copied libdb44.dll & others to libdb.*. > > Microsoft (R) Program Maintenance Utility Version 1.50 > Copyright (c) Microsoft Corp 1988-94. All rights reserved. > > cl -c -I./lib -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 > -D_CONSOLE -DNO_STRIC > T -DHAVE_DES_FCRYPT -DBUILT_BY_ACTIVESTATE -DNO_HASH_SEED > -DUSE_SITECUSTOMIZE -DPERL_IMPLI > CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD > -Zi -DNDEBUG -O1 > -DVERSION=\"0.29\" -DXS_VERSION=\"0.29\" "-IC:\Perl\lib\CORE" > BerkeleyDB.c > BerkeleyDB.c > BerkeleyDB.xs(1195) : warning C4101: 'skey_ptr' : unreferenced local > variable > BerkeleyDB.xs(1194) : warning C4101: 'skey_len' : unreferenced local > variable > BerkeleyDB.xs(2098) : warning C4101: 'av' : unreferenced local
variable Show quoted text
> BerkeleyDB.xs(3565) : error C2275: 'DBTKEY' : illegal use of this type > as an expression > BerkeleyDB.xs(346) : see declaration of 'DBTKEY' > BerkeleyDB.xs(3565) : error C2146: syntax error : missing ';' before > identifier 'end_key' > BerkeleyDB.xs(3565) : error C2065: 'end_key' : undeclared identifier > BerkeleyDB.xs(3598) : warning C4133: '=' : incompatible types - from > 'int *' to 'struct __ > db_dbt *' > BerkeleyDB.c(5209) : error C2224: left of '.data' must have
struct/union Show quoted text
> type > BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setiv' : too few actual > parameters > BerkeleyDB.c(5209) : error C2224: left of '.size' must have
struct/union Show quoted text
> type > BerkeleyDB.c(5209) : error C2224: left of '.data' must have
struct/union Show quoted text
> type > BerkeleyDB.c(5209) : error C2224: left of '.size' must have
struct/union Show quoted text
> type > BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setpvn' : too few actual > parameters > NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return
code '0x2' Show quoted text
> > > ------- > Alexandr Ciornii, http://chorny.net
Hi Alexandr, this is a known problem that will be fixed in the next release of BerkeleyDB. In the meantime, you can apply this change to fix the issue. Edit BerkeleyDB.xs and find this section of code DualType compact(db, start=NULL, stop=NULL, c_data=NULL, flags=0, end=NULL) BerkeleyDB::Common db SVnull* start SVnull* stop SVnull* c_data u_int32_t flags SVnull* end INIT: DBTKEY end_key; CODE: Change it to this DualType compact(db, start=NULL, stop=NULL, c_data=NULL, flags=0, end=NULL) PREINIT: DBTKEY end_key; INPUT: BerkeleyDB::Common db SVnull* start SVnull* stop SVnull* c_data u_int32_t flags SVnull* end CODE: If you still have a problem, do get back to me. cheers Paul
Subject: RE: [rt.cpan.org #20988] nmake fail: 'DBTKEY' : illegal use
Date: Fri, 18 Aug 2006 09:00:45 +0100
To: <bug-BerkeleyDB [...] rt.cpan.org>, <alexchorny [...] gmail.com>
From: "Paul Marquess" <paul.marquess [...] ntlworld.com>
On Mon Aug 14 13:33:59 2006, alexchorny@gmail.com wrote: Show quoted text
> perl v5.8.7 built for MSWin32-x86-multi-thread > Binary build 813 > perl -V attached > > Berkeley DB 4.4.20: (January 10, 2006) > Version: "build_all - Win32 Release" > Copied libdb44.dll & others to libdb.*. > > Microsoft (R) Program Maintenance Utility Version 1.50 > Copyright (c) Microsoft Corp 1988-94. All rights reserved. > > cl -c -I./lib -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 > -D_CONSOLE -DNO_STRIC > T -DHAVE_DES_FCRYPT -DBUILT_BY_ACTIVESTATE -DNO_HASH_SEED > -DUSE_SITECUSTOMIZE -DPERL_IMPLI > CIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD > -Zi -DNDEBUG -O1 > -DVERSION=\"0.29\" -DXS_VERSION=\"0.29\" "-IC:\Perl\lib\CORE" > BerkeleyDB.c > BerkeleyDB.c > BerkeleyDB.xs(1195) : warning C4101: 'skey_ptr' : unreferenced local > variable > BerkeleyDB.xs(1194) : warning C4101: 'skey_len' : unreferenced local > variable > BerkeleyDB.xs(2098) : warning C4101: 'av' : unreferenced local variable > BerkeleyDB.xs(3565) : error C2275: 'DBTKEY' : illegal use of this type > as an expression > BerkeleyDB.xs(346) : see declaration of 'DBTKEY' > BerkeleyDB.xs(3565) : error C2146: syntax error : missing ';' before > identifier 'end_key' > BerkeleyDB.xs(3565) : error C2065: 'end_key' : undeclared identifier > BerkeleyDB.xs(3598) : warning C4133: '=' : incompatible types - from > 'int *' to 'struct __ > db_dbt *' > BerkeleyDB.c(5209) : error C2224: left of '.data' must have struct/union > type > BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setiv' : too few actual > parameters > BerkeleyDB.c(5209) : error C2224: left of '.size' must have struct/union > type > BerkeleyDB.c(5209) : error C2224: left of '.data' must have struct/union > type > BerkeleyDB.c(5209) : error C2224: left of '.size' must have struct/union > type > BerkeleyDB.c(5209) : error C2198: 'Perl_sv_setpvn' : too few actual > parameters > NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code
'0x2' Show quoted text
> > > ------- > Alexandr Ciornii, http://chorny.net
Hi Alexandr, this is a known problem that will be fixed in the next release of BerkeleyDB. In the meantime, you can apply this change to fix the issue. Edit BerkeleyDB.xs and find this section of code DualType compact(db, start=NULL, stop=NULL, c_data=NULL, flags=0, end=NULL) BerkeleyDB::Common db SVnull* start SVnull* stop SVnull* c_data u_int32_t flags SVnull* end INIT: DBTKEY end_key; CODE: Change it to this DualType compact(db, start=NULL, stop=NULL, c_data=NULL, flags=0, end=NULL) PREINIT: DBTKEY end_key; INPUT: BerkeleyDB::Common db SVnull* start SVnull* stop SVnull* c_data u_int32_t flags SVnull* end CODE: If you still have a problem, do get back to me. cheers Paul Show quoted text
___________________________________________________________ To help you stay safe and secure online, we've developed the all new Yahoo! Security Centre. http://uk.security.yahoo.com
Subject: encrypt.t error
From: alexchorny [...] gmail.com
Compilation succeeded. t/encrypt........NOK 7Can't call method "db_put" on an undefined value at t/encrypt.t line 112. t/encrypt........dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 7-80 Failed 74/80 tests, 7.50% okay perl v5.8.7 built for MSWin32-x86-multi-thread Binary build 813 ------- Alexandr Ciornii, http://chorny.net
Looks like you aren't building my module using a copy of Berkeley DB with encryption support included. The library is available both with and without encryption. Paul