Summary: | courier-imap-2.1.1 fails to emerge | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Stefan Sarzio <salze> |
Component: | [OLD] Server | Assignee: | Robin Johnson <robbat2> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | brandy, mkrainer, net-mail+disabled |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | courier-imap-2.1.1 db3 patch |
Description
Stefan Sarzio
2003-08-29 00:54:09 UTC
The compile is failing in this block of code from bdbobj.c : if ( (*obj->dbf->open)(obj->dbf, #if DB_40 #else NULL, #endif filename, NULL, dbtype, flags, 0664)) So if we are not using db-4.0 then an extra NULL argument is inserted into the funtion. But both db-3.2 and db-4.0 have the same function definition: int (*open) __P((DB *, const char *, const char *, DBTYPE, u_int32_t, int)); In fact the DB_40 macro seems to be a check to see whether we are using db-4.1, since db-4.1 does require an extra argument in the funtion (*open): int (*open) __P((DB *, DB_TXN *, const char *, const char *, DBTYPE, u_int32_t, int)); A more consistent check would be to use a macro DB_41: #define DB_41 0 #if DB_VERSION_MAJOR == 4 #if DB_VERSION_MINOR == 1 #undef DB_41 #define DB_41 1 #endif #endif if (db_create(&obj->dbf, NULL, 0) == 0) { if ( (*obj->dbf->open)(obj->dbf, #if DB_41 NULL, #else #endif filename, NULL, dbtype, flags, 0664)) Created attachment 16793 [details, diff]
courier-imap-2.1.1 db3 patch
This patch allows courier-imap-2.1.1 to successfully use db3.
thanks brandy. the patch works and added it into the ebuild. I'll see about passing it on upstream as it belongs there. note to self: pass patch upstream. patch sent upstream to courier-imap@lists.sf.net |