[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

multiple versions of bdb, svn on one box

From: solo turn <soloturn99_at_yahoo.com>
Date: 2003-01-17 09:46:05 CET

for bdb, i always thought this is easy:
- /usr/local/db4.0
- /usr/local/db4.1
and you are done.

how is it possible to use two different versions of svn in the same
httpd, like a svn_mod_dav.so, and a svn_mod_dav_dev.so? or svn1.0,
and svn1.1?


Subject: Re: Problems building on Debian unstable
From: Ben Collins-Sussman <sussman@collab.net>
Date: 16 Jan 2003 14:45:14 -0600
Content-Type: text/plain; charset=us-ascii

Greg Ward <gward@mems-exchange.org> writes:

> Attempt #1: just run "./configure" without trying to point out any
> the above libs -- see how well it does without help. configure
> fine, although it doesn't find Debian's DB4 library -- no big deal,
> think, all I want for now is a client build.
> This build fails when linking with the local copy of apr-util:
> [...]
> cd subversion/tests/libsvn_subr && /bin/sh
/scratch/downloads/subversion-r4276/libtool --silent --mode=link gcc
-g -O2 -pthread -DNEON_ZLIB -rpath /usr/local/lib -o hashdump-test
hashdump-test.o ../../../subversion/tests/libsvn_test-1.la
/scratch/downloads/subversion-r4276/apr-util/libaprutil-0.la -lgdbm
-ldb -lexpat /scratch/downloads/subversion-r4276/apr/libapr-0.la -lm
-lcrypt -lnsl -ldl
undefined reference to `db_create'
undefined reference to `db_strerror'
> Poking around a bit, the dependency seems to come from
> apr-util/dbm/apr_dbm_berkeleydb.c . Why is this being built if
> configure couldn't find Berkeley DB in the first place?

Because apr has its own DBM API, and it uses whatever version of
Berkeley it can find on your system. What you're running into here
some kind of header/library mismatch.

> Attempt #2: at first I thought this was a problem building
apr-util, so
> I decided to just use Debian's libapr, ie. "./configure
> --with-apr-util=/usr". (The libapr0 package includes both
> libapr.so.0.9.2 and libaprutil.so.0.9.2.) Looks like Debian's
libapr is
> too old for Subversion, but now that I'm re-reading the INSTALL
file, I
> see this was doomed to fail: "This release of Subversion requires
> httpd, APR, and APRUTIL more advanced than the latest public
> Sigh. Chalk this one up to pilot error.

Just a temporary situation this one time. We normally try to base
releases on public httpd/apr/apr-util releases.

> I won't bore you with the details, but after much poking and
> I figured out what happened: when conftest.c #include'd <db.h>, it
> /usr/local/include/db.h, which is from a DB 3.3.11 that I built
> ago. No db_version macro there -- in DB 3, it's a function. But
> conftest.c was linked against /usr/lib/libdb.so, ie. DB 4, where
> db_version is a macro, and undefined as a function. Classic DB
> mismatch, and it would have been detected except for the way
> has changed roles. Arrghghhghh!!! What a pain in the ass.

I feel your pain. This pain has been hounding me for years. It
that different versions of BDB simply *cannot* coexist on one box,
as a result, every OS has implemented its own custom solution to the
problem (renaming libraries, installing them in weird places, etc.)
It makes our ./configure system hellish.

Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Jan 17 09:46:48 2003

This is an archived mail posted to the Subversion Dev mailing list.