Subject: Re: ===> db4 is not an acceptable Berkeley DB type for
To: Roland Illig <>
From: thoran <>
List: tech-pkg
Date: 11/15/2005 21:40:07
Hi Roland, 

The <pkg> in this instance is lang/ruby.  

First I had a look in the Makefile as you suggested, but there was no
reference to BDB_ACCEPTED.  So, I thought I'd try all the files in

flower:ruby, thoran$ rgrep BDB_ACCEPTED
flower:ruby, thoran$ 

Nothing there.  Not knowing much about Makefiles I reasonably concluded
when inspecting the lang/ruby Makefile that .include means to include!,
so I grepped on all the file in lang/ruby for .include: 

flower:ruby, thoran$ rgrep '.include'
Makefile: .include "../../lang/ruby/"
Makefile: .include "../../mk/"
Makefile.common: .include "../../mk/"
Makefile.common: .include "" .include "../../lang/ruby/" .include "../../lang/ruby/" .include "../../lang/ruby/" .include "" .include "../../mk/"
flower:ruby, thoran$ 

All roads lead to pkgsrc/mk, so I repeated the grep for BDB_ACCEPTED

flower:mk, thoran$ rgrep BDB_ACCEPTED # BDB_ACCEPTED is a package-settable list of Berkeley
DB implementations .  if defined(BDB_ACCEPTED) &&
empty(BDB_ACCEPTED:Mdb1) BDB_ACCEPTED?=       ${_BDB_PKGS} _BDB_ACCEPTED=               ${BDB_ACCEPTED} .  if !empty(_BDB_ACCEPTED:M${_BDB_TYPE})
flower:mk, thoran$ 

Ah hah! is promising...  I remember seeing a
reference to this in one of the few web-based search results for that
error.  I not also that there is a reference to a BDB_TYPE there, so I
have a look in for the context: 

flower:mk, thoran$ cat -n | grep BDB_ACCEPTED 
    22  # BDB_ACCEPTED is a package-settable list of Berkeley DB
    42  .  if defined(BDB_ACCEPTED) && empty(BDB_ACCEPTED:Mdb1)
    54  BDB_ACCEPTED?=  ${_BDB_PKGS}
    72  _BDB_ACCEPTED=          ${BDB_ACCEPTED}
    82  .  if !empty(_BDB_ACCEPTED:M${_BDB_TYPE})
flower:mk, thoran$ vi

And find amongst other things: 

.  if !defined(_BDB_TYPE)
.    if !empty(USE_DB185:M[yY][eE][sS])
_BDB_TYPE=      ${_BDB185_DEFAULT}
.    else
.    endif
.  endif

.  if !empty(_BDB_ACCEPTED:M${_BDB_TYPE})
BDB_TYPE=       ${_BDB_TYPE}
.  else
BDB_TYPE=       none
.  endif

So, then I figured I'd have a hunt around for BDB_TYPE in lang/ruby,
since *that* may have been defined?: 

flower:ruby, thoran$ rgrep BDB_TYPE
flower:ruby, thoran$ 

Nothing again.  

I'm supposing that I merely need to define something as being =db3 or
something similar to this and that that might fix it.  I tried various
incantations of the sort in the lang/ruby Makefile but that didn't do
any good.  

Suggestions please...  



P.S. This is for Debian and UNPRIVILEGED, or should I stop repeating
this because it is irrelevant?