Re: office/libgda does not compile



> The BerkeleyDB connector has some code like this:
> 
> -- libgda-1.2.1/providers/gda-bdb-recordset.c:231-236
> 	ret = dbp->stat (dbp,
> 			 &statp,
> #if BDB_VERSION < 40000
> 			 NULL,
> #endif
> 			 0);
> --
> 
> I have BDB version 4.3.27, and in <db.h>, the stat function pointer is
> defined as:
> 
> -- db.h:1433
> 	int  (*stat) __P((DB *, DB_TXN *, void *, u_int32_t));
> --
> 
> So that third argument is definitely required, and I've no idea what
> the #if is all about. If I remove it, libgda (and in turn Gnumeric)
> compile just fine.

A pre-processor macro, to use either 3 or 4 arguments conditionally.

Obviously the condition fails in your case, and a wrong number of
parameters is passed.


> I've inserted #error statements into <db.h> to check which version was
> being included, and it all works out. Looks like a problem most people
> would have bumped into, so I wonder why nobody else has :)

This seems to be an issue with libgda in some (rare) cases to me. Please
report this issue to the libgda hackers in bugzilla.gnome.org, giving as
much detail as possible, so this can be fixed upstream. Thanks. :)

...guenther


-- 
char *t="\10pse\0r\0dtu\0  ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4";
main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1:
(c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]