[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: --enable-module broken?? (ITS#2912)



I could build slapd with --enable-modules.

At least on Debian GNU/Linux, if we want to make loadable backend modules, 
we have to enable all --enable-modules, --enable-dynamic, --enable-shared.

It seems that LDBM_LIBS is linked against slapd itself. So, if slapd is
built as static, symbols of db-4.2 can't be resolved when we want
to load bdb backend module.

Don't we have to check this situation in configure time?

On Fri, 9 Jan 2004 14:08:56 -0800
"Howard Chu" <hyc@highlandsun.com> wrote:

> > Though I don't investigate this issue, but I'm facing in a
> > backend module problem.
> >
> > I'm getting the following error in loading module
> >
> >  undefined symbol: ch_free
> 
> This should never happen, since ch_free is exported by slapd itself.
> Something is wrong with your build tree.
> 
> >    or
> >
> >  undefined symbol: ldap_pvt_thread_rwdr_init
> 
> This should not happen, the Makefile links $(shared_LDAP_LIBS) into the
> module explicitly.
> >
> >    or
> >
> >  undefined symbol: db_version
> 
> This may be a bug in the back-bdb Makefile. Not sure. But you have other
> problems already, as noted above.
> 
> > It seems because slapd or other backend modules don't link shared
> > libraries such as libldap, libdb4.2 and so on. For example, back-bdb/
> > Makfile seems not to use LDBM_LIBS at all.
> 
> Since back-bdb doesn't use anything related to LDBM, then it has no reason to
> use LDBM_LIBS.

-- 
Masato Taruishi - VA Linux Systems Japan Inc. <taru@valinux.co.jp>
                - Debian Project <taru@debian.org>
                - Debian JP Project <taru@debian.or.jp>