近期在CentOs6和7上都安装了subversion ,然后都遇到了各自不同的奇葩问题,问题网上也没用很好的解决方案。
例如,在CentOs7 安装 subversion 1.6.11版本时的问题
除了需要安装基本的
apr、apr-util、neon、expat(xml解析器,编译时用的)
apr、apr-util 都在subversion-deps 对应的版本中
上面的安装包配置命令参考:
./configure --prefix=/usr/local/svn/apr
./configure --prefix=/usr/local/svn/apr-util --with-apr=/usr/local/svn/apr
./configure --prefix=/usr/local/svn/expat
./configure --prefix=/usr/local/svn/neon --with-ssl
./configure --prefix=/usr/local/svn/ --with-apr=/usr/local/svn/apr --with-apr-util=/usr/local/svn/apr-util --with-ssl --with-neon=/usr/local/svn/neon/
最后使用make && make install 安装
PS:安装包是一个一个安装的,上面的参考命令不要一起执行,安装哪个执行哪个。按顺序安装即可
subversion 下载路径:https://archive.apache.org/dist/subversion/
1. 遇到undefined reference to `SSL_SESSION_cmp'
这个问题 是因为neon 版本过低BUG导致的,使用neon-0.29.3版本
下载地址 https://notroj.github.io/neon/neon-0.29.3.tar.gz
如果29.3编译报错,就使用31.0版本
2. 遇到svn: 无法识别的URL方案(一般需要svn://,http://,file://等开头)“
则需要下载与安装SVN版本相符的subversion-deps组件包 解压subversion-deps
并复制目录下的所有放到subversion 目录中, 然后重新./configure 以及make && make install
3. 遇到SVN 不支持SSL,除了安装和指定openssl后仍然是不支持的
就需要查看neon安装目录的bin下./neon-config,执行./neon-config --
查看SSL是否为yes。 如果不是YES,就查看步骤1是否版本过低,或者是否对neon进行了编译。
重新安装neon 后再重新安装subversion
4. 遇到svn: PROPFIND 响应中没有包含请求的 resourcetype 值(The PROPFIND response did not include the requested resourcetype value)
是因为SVN协议版本高于服务端,导致的,需要使用1.6.11 或者对应的服务端版本
建议直接使用yum安装,不要离线安装,恶心
5. 安装subversion 1.6.11遇到 subversion/libsvn_fs_fs/rep-cache.c:34:3: 错误:‘REP_CACHE_DB_SQL’未声明(不在函数内)
vim subversion/libsvn_fs_fs/rep-cache.c ,删除数组的REP_CACHE_DB_SQL变量即可
重新执行make && make install
如果依然存在 make: *** [subversion/libsvn_fs_fs/rep-cache.lo] 错误 1 ,编辑rep-cache.c 查看是否存在^L 或者^M的乱码
如果觉得解决了你的问题,麻烦帮我点个赞,谢谢!