Subject: Re: USE_DB185 and BDB_ACCEPTED
To: Johnny C. Lam <jlam@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-pkg
Date: 03/22/2004 10:57:33
On Sun, Mar 21, 2004 at 11:41:29PM +0000, Johnny C. Lam wrote:
> On Sun, Mar 21, 2004 at 11:42:37PM +0100, Manuel Bouyer wrote:
> > x11/gnome-libs defines USE_DB185, but won't build on solaris unless I set
> > BDB_TYPE to db. Should USE_DB185 set BDB_ACCEPTED to db if a native db isn't
> > available ?
> 
> How exactly does it fail? 

# bmake configure
===> Checking for vulnerabilities in gnome-libs-1.4.2nb3
[...]
==========================================================================
The following variables will affect the build process of this package,
gnome-libs-1.4.2nb3.  Their current value is shown below:

        * BDBBASE (defined)
        * BDB_TYPE = db4

You may want to abort the process now with CTRL+C and change their value
before continuing.  Be sure to run `/usr/pkg/bin/bmake clean' after the changes.
==========================================================================
[...]
checking for dbopen... (cached) no
checking for dbopen in -ldb... no
checking for dbopen in -ldb1... no
checking for __db185_open in -ldb-3... no
checking for __db185_open in -ldb-4... no
configure: error: Your db library is missing db 1.85 compatibility mode
*** Error code 1

The same happens with db3 instead of db4.

> What's the output of the following?
> 
> 	make show-var VARNAME=BDB_TYPE

# bmake show-var VARNAME=BDB_TYPE
db4

> 
> bdb.buildlink3.mk is set up to try using, in order: native BDB, db4,
> db3, then db2, so if there is no native BDB implementation, it should
> be falling through to using db4.  The test for whether a native BDB
> implementation exists is simply (naively) testing if either
> /usr/include/db.h or /usr/include/db1/db.h exist.

Yes, I've seen this.

> 
> If you want to force the use of a particular BDB implementation, you
> can, e.g., set in your /etc/mk.conf:
> 
> 	BDB_DEFAULT=	db2

Yes (it's bd for bd2, BTW), but I think in this case we shouldn't have to
do this.
x11/gnome-libs/Makefile set USE_DB185, and I think bdb.buildlink3.mk
should handle this (set BDB_ACCEPTED to "native db" for example, as
db3 and db4 don't seem to offer 1.85 compatibility).

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--