原文地址:http://blog.csdn.net/icelemon1314/article/details/8535645
安装脚本如下:
#!/bin/bash
yum -y remove subversion
mkdir -p /dist/{dist,src}
cd /dist/dist
/bin/rm -f openssl* subversion*
wget "http://www.openssl.org/source/openssl-1.0.1c.tar.gz"
wget "http://labs.mop.com/apache-mirror/subversion/subversion-1.7.8.tar.gz"
wget "http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz"
wget "http://mirror.bjtu.edu.cn/apache/apr/apr-util-1.5.1.tar.gz"
wget "http://www.sqlite.org/sqlite-autoconf-3071502.tar.gz"
wget "http://www.webdav.org/neon/neon-0.29.6.tar.gz"
cd /dist/src
rm -rf openssl*
rm -rf subversion*
rm -rf apr*
rm -rf sqlite*
rm -rf neon*
tar xf /dist/dist/openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config --prefix=/usr/local/ssl-1.0.1c shared
./config -t
make
make install
echo '/usr/local/ssl-1.0.1c/lib' >/etc/ld.so.conf.d/openssl.conf
ldconfig -v
cd /dist/src
tar xf /dist/dist/apr-1.4.6.tar.gz
cd apr-1.4.6/
./configure --prefix=/usr/local/apr
make
make install
cd /dist/src
tar xf /dist/dist/apr-util-1.5.1.tar.gz
cd apr-util-1.5.1/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
cd /dist/src
tar xf /dist/dist/sqlite-autoconf-3071502.tar.gz
cd sqlite-autoconf-3071502
./configure --prefix=/usr/local/sqlite
make
make install
cd /dist/src
tar xf /dist/dist/neon-0.29.6.tar.gz
cd neon-0.29.6
./configure --prefix=/usr/local/neon --with-ssl=openssl
make
make install
cd /dist/src
tar xf /dist/dist/subversion-1.7.8.tar.gz
cd subversion-1.7.8
./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite --with-ssl --without-berkeley-db --with-neon=/usr/local/neon
make
make install
ln -s /usr/local/bin/svn /usr/bin/
在安装过程中遇到的几个问题:
1、安装subversion后,在svn co https://www.xxx.com/的时候报错:
svn: E170000: Unrecognized URL scheme for
说明svn不支持https协议,可以通过svn --version进行查看
2.默认安装好neon的时候,svn是不支持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
我们在编译neon的时候需要加上参数:--with-ssl=openssl 这样完整的编译完成后,就可以看到:
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' 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
3、在安装subversion的时候,make后出现如下报错,原因是在configure的时候没有指定--with-neon参数,导致错误
/usr/local/lib/libneon.a(ne_auth.o): In function `clean_session':
/dist/src/neon-0.29.6/src/ne_auth.c:305: undefined reference to `ne__ntlm_destroy_context'
/usr/local/lib/libneon.a(ne_auth.o): In function `request_ntlm':
/dist/src/neon-0.29.6/src/ne_auth.c:754: undefined reference to `ne__ntlm_getRequestToken'
/usr/local/lib/libneon.a(ne_auth.o): In function `ntlm_challenge':
/dist/src/neon-0.29.6/src/ne_auth.c:788: undefined reference to `ne__ntlm_authenticate'
/dist/src/neon-0.29.6/src/ne_auth.c:781: undefined reference to `ne__ntlm_destroy_context'
/dist/src/neon-0.29.6/src/ne_auth.c:785: undefined reference to `ne__ntlm_create_context'
collect2: ld returned 1 exit status
make: *** [subversion/libsvn_ra_neon/libsvn_ra_neon-1.la] Error 1
转载于:https://blog.51cto.com/weihong/1310352