开心园地

导航

Windows下安装SVN Server的最主要障碍 'Cannot load mod_dav_svn.so'的解决思路

一般总是由于mod_dav_svn.so的依赖dll和Apache已有的dll冲突、不匹配造成的。

这样就需要利用Dependency Walker来检查mod_dav_svn.so的依赖关系并和Apache已有的dll比较,如果Apache已有的,则不要拷贝;如果没有,则拷贝。这样一般都能解决在Windows下安装Subversion Server的问题。

具体办法:

1)重新安装一个干净的Apache2.2.22.

2) 下载 SVN的Windows版本的编译后的包,比如:svn-win32-1.7.5.zip,解压缩,将 c:\svn-win32-1.7.5\bin\mod_dav_svn.so 和 mod_authz_svn.so拷贝到 C:\Apache2.2.22\modules下。

3)下载Dependency Walker http://www.dependencywalker.com/,解压缩后打开程序

4)分析刚才的 mod_dav_svn.so,可以发现mod_dav_svn.so依赖的dll :

libsvn_subr-1.dll

libsvn_repos-1.dll

libsvn_fs-1.dll

libsvn_delta-1.dll

在目录C:\Apache2.2.22\bin下并不存在,则直接从c:\svn-win32-1.7.5\bin\ 拷贝上述dll 到 C:\Apache2.2.22\bin 。

5)编辑http.conf,添加下行:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

重启,一般都会OK!

本文参考了:

http://willperone.net/Code/svnserver.php

http://iusesvn.com/bbs/viewthread.php?tid=31&extra=page%3D1

posted on 2012-05-23 18:13  开心园地  阅读(1070)  评论(0编辑  收藏  举报