安装SVN之后,apache无法load mod_dav_svn.so: undefined symbol: dav_register_provider 解决方法: 

 

现象描述:

Apache下整合的SVN,由于自己需要加modules,就重新./configure,make make install后启动apache出现如下错误:

httpd: Syntax error on line 53 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dav_svn.so into server: /usr/local/apache2/modules/mod_dav_svn.so: undefined symbol: dav_register_provider

 

原因1 :httpd.conf配置文件中下面这行给注销掉了,将其前面的#去掉。

LoadModule dav_module modules/mod_dav.so


原因2:下面这个原因是网上搜来的,不过大部分安装apache的时候.configure的时候都会带上需要的 --enable-dav --enable-so --enable-maintainer-mode --enable-rewrite参数

所以先检查第一个原因,如果不行再试试这个吧,我是安装的时候遇到这个问题,然后照着下面步骤来了一遍还是不行,骗人的网络啊。

 

解决办法:

重新./configure 增加参数

  1. ./configure -prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --enable-rewrite

我的方法:

重新进入httpd解压缩文件下

./configure --prefix=/usr/local/apache2   --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-dav --enable-so  --enable-rewrite --enable-headers --enable-expires --enable-mods-shared=all 

make clean

make

make install