To: Roland Illig <rillig@NetBSD.org>
From: thoran <thoran@fastmail.fm>
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
lang/ruby:
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/rubyversion.mk"
Makefile: .include "../../mk/bsd.pkg.mk"
Makefile.common: .include "../../mk/pthread.buildlink3.mk"
Makefile.common: .include "replace.mk"
buildlink3.mk: .include "../../lang/ruby/rubyversion.mk"
modules.mk: .include "../../lang/ruby/rubyversion.mk"
modules.mk: .include "../../lang/ruby/buildlink3.mk"
modules.mk: .include "replace.mk"
rubyversion.mk: .include "../../mk/bsd.prefs.mk"
flower:ruby, thoran$
All roads lead to pkgsrc/mk, so I repeated the grep for BDB_ACCEPTED
there:
flower:mk, thoran$ rgrep BDB_ACCEPTED
bdb.buildlink3.mk: # BDB_ACCEPTED is a package-settable list of Berkeley
DB implementations
bdb.buildlink3.mk: . if defined(BDB_ACCEPTED) &&
empty(BDB_ACCEPTED:Mdb1)
bdb.buildlink3.mk: BDB_ACCEPTED?= ${_BDB_PKGS}
bdb.buildlink3.mk: _BDB_ACCEPTED= ${BDB_ACCEPTED}
bdb.buildlink3.mk: . if !empty(_BDB_ACCEPTED:M${_BDB_TYPE})
flower:mk, thoran$
Ah hah! bdb.buildlink3.mk 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 bdb.buildlink3.mk for the context:
flower:mk, thoran$ cat -n bdb.buildlink3.mk | grep BDB_ACCEPTED
22 # BDB_ACCEPTED is a package-settable list of Berkeley DB
implementations
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 bdb.buildlink3.mk
And find amongst other things:
. if !defined(_BDB_TYPE)
. if !empty(USE_DB185:M[yY][eE][sS])
_BDB_TYPE= ${_BDB185_DEFAULT}
. else
_BDB_TYPE= ${_BDB_DEFAULT}
. 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...
Sincerely,
thoran
P.S. This is for Debian and UNPRIVILEGED, or should I stop repeating
this because it is irrelevant?