为了解决svnamin:Unrecognized record type in stream的问题,决定将Subversion1.7升级为Subversion1.8
Subversion1.8的源码安装和Subversion1.7之前一致,只是基础依赖有区别,注意以下几个包:
1、 apr,apr-util
apr下载地址:http://apr.apache.org/download.cgi
./configure --prefix=/usr/local/apr
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
2、 openssl,openssl-devel,expat-devel
直接使用yum源安装即可
3、 scons安装,使用python2安装
SCons下载地址:https://scons.org/pages/download.html
python setup.py install
4、 使用scons安装serf
serf下载地址:https://serf.apache.org/download
解压后进入serf文件夹
scons PREFIX=/usr/local/serf APR=/usr/local/apr APU=/usr/local/apr-util
scons -Y /data/serf-1.3.8【serf的解压目录】
scons PREFIX=/usr/local/serf LIBDIR=/usr/lib64【设置安装目录,文件夹】
scons PREFIX=/usr/local/serf install
5、 最后安装Subversion
subversion下载地址:https://archive.apache.org/dist/subversion/?C=M;O=A
解压后需要将sqlite-amalgamation放到文件夹下
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-serf=/usr/local/serf/ --with-openssl
安装流程细节可参考博客:http://blog.51cto.com/bbotte/1716332
可能碰到的错误:
1、 安装完成后无法使用http连接。
svn错误svn: E170000: Unrecognized URL scheme for http
Subversion1.7需要neon的函数库,但是在Subversion1.8中需要安装serf,参考博客:http://blog.51cto.com/bbotte/1716332
2、 fatal error: openssl/aes.h: No such file or directory
Ubuntu上面需要安装libssl-dev安装包:apt-get install libssl-dev
CentOS上需要安装openssl-devel安装包:yum install openssl-devel
3、 解压tar.bz2压缩包时报错:Linux上解压jdk报错gzip: stdin: not in gzip format
使用tar -zxvf解压时出错,不用加参数-z
tar -xvf没有问题
4、 fatal error: expat.h: No such file or directory
yum install expat-devel
5、 如果依赖已经由yum安装好了,源码安装过程中有需要指定相应的依赖,则需要在./configure执行中加上参数--with *** 找到对应的***-config文件,赋值相应的目录路径即可。
一般是/usr/bin或者/usr/local/bin文件夹
6、 apr和apr-util无法引用
yum删除软件,重装源码,指定安装目录,再跟参数
也可以参考第五点的方法试试