Hello
Debian provides a db4 with configured with --with-uniquenames so the symbols are suffixed _4000. apr-util attempts to detect db4 using AC_CHECK_LIB which generates programs like
char db_create();
int main() { db_create() ; return 0; }
Since this doesn't include the db.h header file it fails to link and so the db4 detection fails.
I don't know whether apr-util is supposed to detect all possible db installations, but the following patch detects Debian's db4.
Look for the symbol db_create_4000 (as used by Debian) when checking for db4.
Index: build/apu-conf.m4 =================================================================== RCS file: /home/cvspublic/apr-util/build/apu-conf.m4,v retrieving revision 1.47 diff -u -r1.47 apu-conf.m4 --- build/apu-conf.m4 15 Dec 2002 19:36:41 -0000 1.47 +++ build/apu-conf.m4 16 Dec 2002 22:29:44 -0000 @@ -144,12 +144,17 @@ ])])]) if test "$apu_db_version" != "4"; then AC_CHECK_HEADER(db.h, [ + AC_CHECK_LIB(db, db_create_4000, [ + apu_db_header=db.h + apu_db_lib=db + apu_db_version=4 + ], [
Why should we check for db_create_4000 first? Why not wait until after db_create is not found? -- justin
