一般情况下SVN是不需要进行源码编译的,直接apt-get install subversion便可以了。但是国产操作系统用得更多的是在内网环境,军工环境,没有互联网,此时要装SVN比较复杂,这时可以选择利用SVN源码进行编译安装。
网上有很多编译SVN的方法,但能够支持HTTPS 的比较少,如果缺少serf 模块的话连HTTP都不支持,进行代码checkout的时候,就会提示不支持的模板协议,错误提示如下:
svn: E170000: Unrecognized URL scheme for https://***
通过svn --version可以看到:
The following repository access (RA) modules are available:
ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
handles 'http' scheme
ra_svn : Module for accessing a repository using the svn network protocol.handles 'svn' scheme
ra_local : Module for accessing a repository on local disk.handles 'file' scheme
以上原因是因为编译SVN的时候缺少serf模块,作者经历了近一周的时间对其进行研究,查找资料,编译,终于在一个文章中找到了编译的方法,在此专门进行记录,以便后面的读者能少走弯路。
1. 准备SVN源码及相关依赖软件的源码
a. apr-1.6.5.tar.bz2
b. apr-util-1.6.3.tar.bz2
c. expat-2.2.7.tar.bz2
d.openssl-1.0.2s.tar.gz
e.scons-3.0.4.tar.gz
f. serf-1.3.9.tar.bz2
g sqlite-amalgamation-3290000.zip
h.subversion-1.12.0.tar.bz2
i .zlib-1.2.11.tar.gz
2. 银河麒麟操作系统gcc 一般是默认安装的,版本高低要求不是比较强烈,有gcc就可以了。
tar vxf apr-1.6.5.tar.bz2
cd apr-1.6.5
./configure --prefix=/usr/local/apache
make && sudo make install
tar vxf expat-2.2.7.tar.bz2
cd expat-2.2.7
./configure
make && sudo make install
tar vxf apr-util-1.6.1.tar.bz2
cd apr-util-1.6.1
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apache
make && sudo make install
tar vxf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && sudo make install
编译scons 需要安装Python
tar vxf scons-3.0.4.tar.gz
cd scons-3.0.4
sudo python setup.py install
tar xzf openssl-1.0.2s.tar.gz
cd openssl-1.0.2s
./config -fPIC --prefix=/usr/local/openssl enable-shared
make && sudo make install
tar xjf serf-1.3.9.tar.bz2
cd serf-1.3.9
scons PREFIX=/usr/local/serf APR=/usr/local/apache APU=/usr/local/apache OPENSSL=/usr/local/openssl
cp -d libserf-1.so* /usr/lib
cp -d 是连软连接一起copy
unzip sqlite-amalgamation-3290000.zip
mv sqlite-amalgamation-3290000 sqlite-amalgamation
把sqlite-amalgamation拷贝到SVN源码目录下面
tar vxf subversion-1.12.0.tar.bz2
cd subversion-1.12.0
./configure --prefix=/usr/local/svn --with-apr=/usr/local/apache --with-apr-util=/usr/local/apache --with-zlib=/usr/local/zlib --with-serf=/usr/local/serf --with-lz4=internal --with-utf8proc=internal
make && sudo make install
编译完成后执行
/usr/local/svn/bin/svn --version
能显示 HTTPS 和HTTP 就算是成功了。
以上便是编译SVN的全部流程。
源码资源下载链接
https://download.csdn.net/download/weixin_42426911/87859076