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
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