apache2 + subversion "undefined symbol: dav_register_provider"

hi,

system: opensuse 11.4 x86_64
kernel: 2.6.37.6-0.7-desktop

so i wanna set up an svn server, thus subversion-server. the apache2 itself works as expected.

so i followed this instruction (GERMAN) about setting it up.

however, starting (reloading) gives me this output:

# service apache2 reload
Reload httpd2 (graceful restart)

httpd2-prefork: Syntax error on line 116 of /etc/apache2/httpd.conf: Syntax error on line 30 of /etc/apache2/sysconfig.d/loadmodule.conf: Cannot load /usr/lib64/apache2/mod_dav_svn.so into server: /usr/lib64/apache2/mod_dav_svn.so: undefined symbol: dav_register_provider

The command line was:
/usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf

this forum post suggests that the apache2 wasn’t compiled with the needed options.

my subversion.conf looks like this now:


# Example configuration for a subversion repository
# see /usr/share/doc/packages/subversion for the full documentation
#

# <IfModule mod_dav_svn.c>

##
## project related HTML files
##
#<IfModule mod_alias.c>
#Alias /repos    /srv/svn/html
#</IfModule>
#<Directory /srv/svn/html>
#        Options         +Indexes +Multiviews -FollowSymLinks
#        IndexOptions    FancyIndexing \
#                        ScanHTMLTitles \
#                        NameWidth=* \
#                        DescriptionWidth=* \
#                        SuppressLastModified \
#                        SuppressSize
#
#        order allow,deny
#        allow from all
#</Directory>

<Location /svn>

DAV	svn
SVNPath	/media/truecrypt2/.svn

# AuthType	Basic
# AuthName	"Subversion/Trac"
# AuthUserFile	/etc

	<LimitExcept GET PROPFIND OPTIONS REPORT>

		Options Indexes
		Order allow,deny
		allow from all

	</LimitExcept>

# Satisfy	any
# Require	valid-user

</Location>

#<Location /repos/myproject1>
#   DAV svn
#   SVNPath /srv/svn/repos/myproject1

#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /srv/svn/user_access/myproject1_passwdfile
#      Require valid-user
#   </LimitExcept>
#</Location>

##
## Hosting svn at "/"
##
#<VirtualHost *>
#    ServerName svn.example.com
#    ErrorLog    /var/log/apache2/svn.example.com-error_log
#    TransferLog /var/log/apache2/svn.example.com-access_log
#    #
#    # Do not set DocumentRoot. It is not needed here and just causes trouble.
#    #
#    # Map the error documents back to their defaults.
#    # Otherwise mod_dav_svn tries to find a "error" repository.
#    #
#    ErrorDocument 400 default
#    ErrorDocument 401 default
#    ErrorDocument 403 default
#    ErrorDocument 404 default
#    ErrorDocument 405 default
#    ErrorDocument 408 default
#    ErrorDocument 410 default
#    ErrorDocument 411 default
#    ErrorDocument 412 default
#    ErrorDocument 413 default
#    ErrorDocument 414 default
#    ErrorDocument 415 default
#    ErrorDocument 500 default
#    ErrorDocument 501 default
#    ErrorDocument 502 default
#    ErrorDocument 503 default
#    #
#    <Location />
#      DAV svn
#      SVNParentPath /srv/svn/repositories/
#      SVNListParentPath on
#      AuthType Basic
#      AuthName "subversion repository"
#      AuthBasicProvider file
#      AuthUserFile /srv/svn/auth/svn.example.org.htpasswd
#      SetOutputFilter DEFLATE
#      <LimitExcept GET PROPFIND OPTIONS REPORT>
#        Require valid-user
#      </LimitExcept>
#    </Location>
#</VirtualHost>

# </IfModule>


# zypper verify
Loading repository data...
Reading installed packages...

Problem: nothing provides libgcc44-32bit needed by wrapped-skype-2.1.0.81-0.w.1.1.x86_64
 Solution 1: deinstallation of wrapped-skype-2.1.0.81-0.w.1.1.x86_64
 Solution 2: break wrapped-skype by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c): c


zypper info apache2
Loading repository data...
Reading installed packages...


Information for package apache2:

Repository: @System
Name: apache2
Version: 2.2.17-4.5.1
Arch: x86_64
Vendor: openSUSE
Installed: Yes
Status: up-to-date
Installed Size: 2.1 MiB
Summary: The Apache Web Server Version 2.0
Description: 
Apache 2, the successor to Apache 1.


# zypper info subversion-server
Loading repository data...
Reading installed packages...


Information for package subversion-server:

Repository: @System
Name: subversion-server
Version: 1.6.17-1.2.1
Arch: x86_64
Vendor: openSUSE
Installed: Yes
Status: up-to-date
Installed Size: 174.0 KiB
Summary: Apache server module for Subversion server
Description: 
The subversion-server package adds the Subversion server Apache module
to the Apache directories and configuration.

http://subversion.tigris.org

any suggestions?

thx in advance!

As i thought, dav must be loaded before dav_svn. however, i edited the wrong file. apparently /etc/apache2/sysconfig/loadmodule.conf gets overwritten each (re)start by /usr/sbin/rcapache2 . thus, one must edit this file and in there the variable “APACHE_MODULES=” whereas you MUST MAKE SURE, that dav is loaded BEFOR dav_svn…

for example:

APACHE_MODULES="actions alias rewrite auth_basic authn_file authz_host authz_groupfile authz_default authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl userdir php5 mod_dav dav_fs auth_digest dav_svn"

i’ll file this as a bug report later…

thx!