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

Re: Can't build subversion without ra_local support ('file' scheme)

From: Ryan Schmidt <subversion-2008c_at_ryandesign.com>
Date: Wed, 3 Sep 2008 03:17:40 -0500

On Sep 1, 2008, at 5:54 AM, Anton Pervukhin wrote:

> I'm trying to build subversion from source with disabled ra_local
> Module, but so far with no success.

I must admit I'd never heard of anyone wanting to do this before. Why
do you want to disable ra_local? The ra_local libraries aren't big,
so it can't be a disk space concern. And disabling ra_local in your
client won't provide any increased security, since anyone could bring
in another client that does have ra_local. If you're trying to
prevent people from accessing a repository using ra_local, then
ensure that those users do not have read/write access to the
repository files on the server. Only your svnserve or apache user
should have read/write access, thus ensuring all access occurs though
those processes.

> I have searched this mailing list and googled a bit, have found a
> bit old thread: http://svn.haxx.se/dev/archive-2004-02/0796.shtml
> where it is said that for disabling ra_local one should build
> subversion without berkeley db support, i.e. with configure option:
> --without-berkeley-db

Well, that message is from February 2004, when BerkeleyDB was the
only repository storage format. In order for Subversion to read a
repository from disk, it needed to use BDB to do so; I suspect that
if BDB was not available, it simply didn't build the apache server
module, svnserve server binary, or the ra_local client repository
access method, because there would be no way for them to work.

But when Subversion 1.1 was released in September 2004, it gained a
second repository storage format, FSFS, which has no dependencies.
Thus it is now always possible to build these features (though
without BDB, they can only access FSFS-type repositories and not BDB-
type repositories).


> here is my configure script (on Solaris 5.10):
> /configure --prefix=/vol/software/subversion-1.4.3 --with-swig=/vol/
> software/swig-1.3.29 --with-jdk=/usr/java --with-ssl --enable-
> shared=no --with-neon=/vol/software/neon-0.25.5 --with-apr=/vol/
> software/source/src/subversion-1.4.3/apr --with-apr-util=/vol/
> software/source/src/subversion-1.4.3/apr-util --without-berkeley-db
> apr and apr-util I'm getting from dependencies package. neon,
> version 0.25.5 has been installed separately.
> interesting enough configure script even logs warning:
> configure: WARNING: we have configured without BDB filesystem support
> You don't seem to have Berkeley DB version 4.0.14 or newer
> installed and linked to APR-UTIL. We have created Makefiles which
> will build without the Berkeley DB back-end; your repositories will
> use FSFS as the default back-end. You can find the latest version of
> Berkeley DB here:
> http://www.sleepycat.com/download/index.shtml
> but still after...
> make
> make install
> svn --version gives
> svn, version 1.4.3 (r23084)
> compiled Sep 1 2008, 11:35:34
> Copyright (C) 2000-2006 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet (http://
> www.Collab.Net/).
> The following repository access (RA) modules are available:
> * ra_dav : Module for accessing a repository via WebDAV (DeltaV)
> protocol.
> - handles 'http' scheme
> - handles 'https' scheme
> * ra_svn : Module for accessing a repository using the svn network
> protocol.
> - handles 'svn' scheme
> * ra_local : Module for accessing a repository on local disk.
> - handles 'file' scheme
> I have already tried different scenarios: apr and apr-util built
> separately, removed installation of berkeley db from the PATH...and
> still no success.
> So basically I can't get a point where it gets the link to berkeley
> db (may be from some other library: swig, apr, apr-util, neon???)
> and why it builds it even with the configure option --without-
> berkeley-db.

It's not linking with BerkeleyDB. Your binary is built without
BerkeleyDB support. You asked for that by using the "--without-
berkeley-db" configure option, and the configure script confirmed
that for you by saying "we have configured without BDB filesystem
support". So your Subversion binaries cannot access BDB-type
repositories locally. They can access FSFS-type repositories locally,
and can access any type of repository that is served by a server
running an svnserve or mod_dav_svn built with BDB support.

> I have been trying to solve this problem for already two days and
> would be very grateful for any hint!

The only thing I can think of would be to remove the files
libsvn_ra_local-1.* from ${prefix}/lib after installation is done.

To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-09-03 10:19:05 CEST

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.