日期:2014-05-16  浏览次数:20614 次

linux下apache结合subversion,启动apache报错undefined symbol: dav_register_provider
[root@localhost local]# /usr/local/apache/bin/httpd httpd
Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/mod_dav_svn.so into server: /usr/local/svn/lib/libsvn_subr-1.so.0: undefined symbol: apr_hash_clear

在httpd的modules文件夹下存在mod_dav_svn.so文件,为什么还是启动不了apache。
解决办法:

重新安装Apache  编译安装./configure 增加参数

# ./configure --prefix=/usr/local/apache/ --enable-dav --enable-so


*--enable-dav --enable-so参数是必须要加的,你还可以根据您的需要添加其他的参数。

* --enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误

* apr 和 apr-util一般会在httpd的安装包内,subversion安装会使用到apr和par-util,如果当前系统没有,最好安装一下