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

Re: Build issue with Berkeley DB?

From: Seth Falcon <sfalcon_at_fhcrc.org>
Date: 2004-02-13 20:07:29 CET

On Fri, Feb 13, 2004 at 09:24:44AM -0500, John Peacock wrote:
> Andreas Jellinghaus wrote:
> >anyway: it does not work.
> >if you have the *development* files of any other db version on your
> >system installed in /usr/lib, then subversion might miscompile (did
> >always for me, linking both db versions).
>
> BZZT! Sorry, you shouldn't make statements like that without _positive_
> proof. You are passing on FUD, nothing more. Many people are having no
> problems whatsoever; you can state "it does not work _for me_" but that
> kind of blanket statement is not helpful.

Perhaps that should be (0.5 * BZZT!).

I recently built subversion-0.37 on a debian Linux box and it appears
that my svn is linked against both Berkeley DB 4.2 and 4.1. Here's my
evidence:

     $ ldd `which svn`|grep libdb
        libdb-4.2.so => /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so (0x40123000)
        libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40533000)

Before going further, I should say that my build seems to work (haven't
used it extensively yet). I'm writing not to complain, but in hopes of
understanding what's going on and whether or not it might become a
problem for me in the future.

Here's what I did to build svn:

0. Precondition: I have some old Berkeley DB versions already installed
   under /usr.

1. Build and install Berkeley DB 4.2 into /usr/local/BerkeleyDB.4.2

2. Build apache:
     $ export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.2
     $ ./configure --enable-maintainer-mode --enable-so \
        --enable-dav --with-berkeley-db=/usr/local/BerkeleyDB.4.2
     $ make && make install

3. Build subversion:
     $ export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.2
     $ rm -f /usr/local/lib/libsvn*
     $ cd subversion-0.37.0
     $ sh ./autogen.sh
     $ ./configure --enable-maintainer-mode \
      --with-apr=/usr/local/apache2 \
      --with-apr-util=/usr/local/apache2
     $ make && make install

I just tried a few re-builds, and can add the following:

I edited /etc/ld.so.conf:
    /usr/X11R6/lib
    /usr/local/BerkeleyDB.4.2/lib
And ran ldconfig.

I then made sure LD_LIBRARY_PATH was unset and rebuilt apache. An ldd
on the httpd binary shows it linked to the correct BerkeleyDB.4.2.

Next I tried configuring subversion per your instructions:
    $ ./configure --with-apxs=/path/to/apache/bin/apxs

For whatever reason, when I reviewed config.log I found no references to
BerkeleyDB.4.2 and only references to 4.1 (which is installed on my
system under /usr). I did not proceed w/ the build.

Next I tried configuring as:
    $ ./configure --enable-maintainer-mode --prefix=/home/seth/sw/svntest \
    --with-apr=/home/seth/sw/svntest/ \
    --with-apr-util=/home/seth/sw/svntest/ \
    --with-apxs=/home/seth/sw/svntest/bin/apxs

The config.log looked good w/ references to BerkeleyDB.4.2. The build
succeeded, however my svn binary still links to two Berkeley DB
versions:
        $ ldd /home/seth/sw/svntest/bin/svn | grep libdb
          libdb-4.2.so => /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so (0x40123000)
          libdb-4.1.so => /usr/lib/libdb-4.1.so (0x40535000)

So if anyone made it this far through, I ask: What am I missing? Is
having my svn binary linked as above going to be a problem?

regards,

+ seth

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Feb 13 20:07:47 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.