Ubuntu – Can’t start apache2.4 after upgrading subversion to 1.8.5

apache-2.2svnUbuntu

System: Ubuntu 13.10

I can't start Apache2 after I upgraded svn to 1.8.5 [wandisco] yesterday. The error I get

$sudo service apache2 start
 * Starting web server apache2                                                                                                                                                * 
 * The apache2 configtest failed.
Output of config test was:
apache2: Syntax error on line 142 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/authz_svn.load: Cannot load /usr/lib/apache2/modules/mod_authz_svn.so into server: libsvn_repos-1.so.1: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.

[There is no additional info in apache log]

I tried this: http://ubuntuforums.org/archive/index.php/t-1777292.html

$locate mod_dav_svn.so
/usr/lib/apache2/modules/mod_dav_svn.so

So I changed my /etc/apache2/mods-enabled/authz_svn.load to:

# Depends: dav_svn
# LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_dav_svn.so

But I'm still getting the same error, just with path to the module changed.

$sudo service apache2 start
 * Starting web server apache2                                                                                                                                                * 
 * The apache2 configtest failed.
Output of config test was:
apache2: Syntax error on line 142 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/mods-enabled/authz_svn.load: Cannot load /usr/lib/apache2/modules/mod_dav_svn.so into server: libsvn_repos-1.so.1: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.

The strangest thing is that both files exist and are readable

$ls -la /usr/lib/apache2/modules/mod_authz_svn.so
-rw-r--r-- 1 root root 18872 paź 15 16:03 /usr/lib/apache2/modules/mod_authz_svn.so
$ls -la /usr/lib/apache2/modules/mod_dav_svn.so
-rw-r--r-- 1 root root 173224 paź 15 16:03 /usr/lib/apache2/modules/mod_dav_svn.so

Info about my svn:

$svn --version
svn, version 1.8.5 (r1542147)
   compiled Nov 19 2013, 15:29:58 on x86_64-unknown-linux-gnu

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

Są dostępne następujące moduły dostępu do repozytorium (RA):

* ra_svn : Moduł umożliwiający dostęp do repozytorium przy pomocy protokołu svn.
  - z uwierzytelnianiem Cyrus SASL
  - obsługuje protokół 'svn'
* ra_local : Moduł umożliwiający dostęp do repozytorium na lokalnym dysku.
  - obsługuje protokół 'file'
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
  - using serf 1.3.2
  - obsługuje protokół 'http'
  - obsługuje protokół 'https'

I'm out of ideas. I will be grateful for your help.

UPDATE

I downgradeg svn to 1.7.9 – now it works.

Best Answer

The following notice in the www.wandisco.com site:

Optionally it can install the Apache HTTPD server (apache2) and Subversion modules.

gives a hint into what might be the problem, i.e., the precompiled version of the libapache2-mod-svn available through the Ubuntu repositories comes from the subversion-1.7.9 package.

The error message is indeed misleading, but the problem is not that the files are missing, but rather that they are not the expected ones. Recompiling the web server using the development headers of the SVN provided by Wandisco would fix it. Note that you need the subversion source package to do that, and Wandisco doesn't seem to provide it (or I have been unable to find it).