[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#5620) Compile problem with Berkeley DB 4.7.25
Full_Name: Marco Walther
Version: 2.4.11
OS: SunOS 5.11 snv_70b sun4v sparc SUNW,SPARC
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (192.18.43.225)
The problem is in servers/slapd/back-bdb/cache.c and
servers/slapd/back-bdb/init.c
The db-4.7.?? moved the lk_handle from the public DB_ENV to a private ENV
structure. So it's officially not accessible any more.
I'll include a little diff to show the problem. But I don't think my `quick
compile' fix is completely correct.
I'm more interested in the client libraries than the servers right now.
--- init.c.orig Wed Jul 16 22:56:00 2008
+++ init.c Wed Jul 16 23:01:26 2008
@@ -503,9 +503,15 @@
}
if ( !quick ) {
-#if DB_VERSION_FULL >= 0x04060012
+#if DB_VERSION_FULL >= 0x04070025
+ # XXX mw79288 real hack!!
+ #include "/export/home/marcow/src/db-4.7.25/build_unix/db_int.h"
u_int32_t lid;
XLOCK_ID(bdb->bi_dbenv, &lid);
+ __lock_getlocker(bdb->bi_dbenv->env->lk_handle, lid, 0,
&bdb->bi_cache.c_locker);
+#elsif DB_VERSION_FULL >= 0x04060012
+ u_int32_t lid;
+ XLOCK_ID(bdb->bi_dbenv, &lid);
__lock_getlocker(bdb->bi_dbenv->lk_handle, lid, 0,
&bdb->bi_cache.c_locker);
#else
XLOCK_ID(bdb->bi_dbenv, &bdb->bi_cache.c_locker);