New description for use of Bereley DB 2.x on a Linux platform.

This commit is contained in:
Kurt Spanier 1999-01-12 14:15:35 +00:00
parent 318531a437
commit 956fe808a8
4 changed files with 32 additions and 54 deletions

View file

@ -1,36 +0,0 @@
*** db/db.c.sleepy Sun Jan 3 20:02:51 1999
--- db/db.c Sun Jan 3 20:28:25 1999
*************** db_open(fname, type, flags, mode, dbenv,
*** 106,112 ****
DB_PGINFO pginfo;
HASHHDR *hashm;
size_t cachesize;
! ssize_t nr;
u_int32_t iopsize;
int fd, ftype, need_fileid, restore, ret, retry_cnt, swapped;
char *real_name, mbuf[512];
--- 106,112 ----
DB_PGINFO pginfo;
HASHHDR *hashm;
size_t cachesize;
! ssize_t nr = (ssize_t) 0;
u_int32_t iopsize;
int fd, ftype, need_fileid, restore, ret, retry_cnt, swapped;
char *real_name, mbuf[512];
*************** open_retry: if (LF_ISSET(DB_CREATE)) {
*** 337,343 ****
if (nr != sizeof(mbuf)) {
if (nr != 0) {
__db_err(dbenv,
! "%s: unexpected file format", fname);
goto einval;
}
/*
--- 337,343 ----
if (nr != sizeof(mbuf)) {
if (nr != 0) {
__db_err(dbenv,
! "%s: unexpected file format, %d bytes read", fname, nr);
goto einval;
}
/*

View file

@ -1,18 +0,0 @@
A bug in Sleepycat´s Berkeley DB (version 2.3.16 up to 2.6.4 beta),
was detected, that caused failure during opening of database files
when running a threaded slapd on a linux box, kernel version 2.0.35,
gcc 2.7.2.1, linux threads via libpthreads.so.1.60.4.
THE BUG OCCURS ONLY WHEN SLAPD IS RUN WITH THREADS ENABLED AND MAY
ONLY OCCUR ON THE PLATFORM SPECIFIED.
SINCE THE CODE OF DB_OPEN() IS THE SAME IN VERSION 2.3.16 AND 2.6.4
WITH REPECT TO THE BUG DETECTED, DB 2.3.16 SHOULD BE PATCHED AS WELL.
Apply the supported patch at the root directory of Sleepycat´s code.
Since the bug was reported to Sleepycat, it may not appear in DB
versions, later than 2.6.4 beta.
Jan 7 1999, /KSp (ksp@openldap.org)

28
build/db.2.x.README Normal file
View file

@ -0,0 +1,28 @@
Berkeley DB version 2.x and OpenLDAP running threads
====================================================
Special care has to be taken, if OpenLDAP is to be used with threads
activated, while at the same time using Berkeley DB, version 2.x, as
a slapd back-end. Both, OpenLDAP AND Berkeley DB have to be compiled
with thread support activated.
The configuration tool of Sleepycat's Berkeley DB will take provion
for that on IRIX, OSF/1, and SUN Solaris platforms (version 2.3.16),
as well as FreeBSD (version 2.6.4), but NOT e.g. on LINUX platforms.
On PC-LINUX (kernel version 2.0.35, linux kernel threads as imple-
mented by libpthreads.so.1.60.4) with gcc as the standard compiler
the environment variable CPPFLAGS must define -D_REENTRANT, while
building the Berkeley DB package.
DO NOT USE THE -ansi CFLAG, SINCE THEN THE DB PACKAGE'S CONFIGURE
CANNOT FIND THE X86/GCC SPINLOCKS, WHICH ARE NEEDED FOR THREAD-
SUPPORT WITH THE BERKELEY DB.
Please check carefully, if your platform is not mentioned above.
The OpenLDAP configure tool will most probably find the correct con-
figuration itself, so that no special action has to be taken, while
building the OpenLDAP package.
Jan, 9th, 1999, /KSp (ksp@openldap.org)

4
doc/install/hints/Linux Normal file
View file

@ -0,0 +1,4 @@
If Berkeley DB 2.x should be used with thread support activated, read the
file build/db.2.x.README carefully. The Berkeley package must be build
appropriately to support threaded applications as expected.