Just a small update in there, before I start working on the system.
Here are the BDB versions used by the various piece of software at hand :
mod_dav_svn.so ---> bdb 4.4
ldd /usr/lib/apache2/modules/mod_dav_svn.so libdb-4.4.so
svn exe ---> bdb 4.2
ldd /usr/bin/svn libdb-4.2.so
svnadmin exe ---> bdb 4.2
ldd /usr/bin/svnadmin libdb-4.2.so
Also, the repositories are "built" using BDB version is 4.4 (following
http://subversion.tigris.org/faq.html#divining-bdb-version). This is
rather logical since the repositories have been accessed/commited using
I guess that svn simply needs an update on the server.
Much simpler than I expected! I need newer binaries instead of older.
A question is:
Do you think that the **latest** svn version could "svnadmin recover" the
repositories that use BDB version 4.4 ?
If yes, I just update globally my linux distrib.
If not, I will try using the package manager to get a version of svnadmin
and svn binaries linked against libdb-4.4.
> On Oct 20, 2009, at 13:53, Ryan Schmidt wrote:
>>> 1/ when using svnadmin from the machine where the repositories are,
>>> subcommands throw an error in the form:
>>> “svn: Berkeley DB error while opening environment for filesystem
>>> Argument invalide
>>> svn: bdb: Program version 4.2 doesn't match environment version”
>> Then your svnadmin was built for a version of BerkeleyDB different
>> from 4.2.
>>> 2/ when using svn with the http protocol, from ANY machine,
>>> goes always OK.
>> Then presumably your mod_dav_svn was built for BerkeleyDB 4.2. So it
>> sounds like your mod_dav_svn may not be matched with the rest of your
>> Subversion software. On many systems, you need to manually copy
>> mod_dav_svn to the right place for Apache to see when you upgrade
> Thinking about this further, I may have this a bit backward. It's the
> repository that is "built" for a particular BerkeleyDB version, not
> the Subversion parts. Presumably when you're using svnadmin and when
> you're using mod_dav_svn you're talking to the same repository. So
> then, the error message you get from svnadmin shows that BerkeleyDB
> 4.2 is what svnadmin is using, but this isn't the right version for
> accessing the repository. Conversely, your mod_dav_svn has no problem
> using the repository, so maybe your mod_dav_svn is using a different
> version of BerkeleyDB -- maybe you have multiple versions installed on
> your server simultaneously.
> Or is it possible that your Apache has just never been restarted after
> BerkeleyDB was updated to 4.2, and that if you were to now restart
> Apache, you would no longer be able to access the repository from
> there either? I suppose you would prefer not to test that theory at
> the moment. :) But it might be useful to know your Apache's uptime.
> You may want to follow this FAQ entry to determine which version of
> BerkeleyDB your repository is "built" for at this moment:
> If you find your repository is "built" for BerkeleyDB < 4.2, you can
> apparently upgrade it to BerkeleyDB 4.2 specs by using "svnadmin
> recover". If you wanted to upgrade to a later version of BerkeleyDB,
> this FAQ would be relevant:
> Also note that as of Subversion 1.2, the default repository format is
> no longer BerkeleyDB but "FSFS". If you manage to find a way to dump
> your repository and load it into a new one, you'll get an FSFS
> repository (unless you explicitly ask for a BDB one). FSFS was
> specifically designed for Subversion to avoid the intricacies of
> managing BerkeleyDB -- such as these version mismatches -- so if you
> use FSFS, you won't ever have to deal with this again (or even have
> BerkeleyDB installed). As you can imagine, I recommend using FSFS.
> To unsubscribe from this discussion, e-mail:
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-10-21 10:53:03 CEST