Redhat Linux 安装subversion
下载subversion-1.10.3.tar.bz2
tar -xjvf subversion-1.10.3.tar.bz2
cd subversion-1.10.3
错误1:
checking for LZ4_compress_default in -llz4... no
configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal
解决方法:加参数 --with-lz4=internal
./configure --prefix=/home/wqf/usr/lib/subversion_1.10.3 --with-lz4=internal
错误2:
checking sqlite library version (via header)... unsupported SQLite version
checking sqlite library version (via pkg-config)... none or unsupported 3.6.20
no
An appropriate version of sqlite could not be found. We recommmend
3.8.11.1, but require at least 3.8.2.
Please either install a newer sqlite on this system
or
get the sqlite 3.8.11.1 amalgamation from:
https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip
unpack the archive using unzip and rename the resulting
directory to:
/home/wqf/download/subversion-1.10.3/sqlite-amalgamation
configure: error: Subversion requires SQLite
解决方法:
下载https://www.sqlite.org/2015/sqlite-amalgamation-3081101.zip,加压后拷贝到/home/wqf/download/subversion-1.10.3/sqlite-amalgamation
错误3:
checking for utf8proc_version in -lutf8proc... no
configure: error: Subversion requires UTF8PROC
下载https://github.com/JuliaStrings/utf8proc/archive/v2.2.0.tar.gz, 解压后运行make,将生成的libutf8proc.so, libutf8proc.so.2.2.0, libutf8proc.so.2 拷贝到自己lib的目录去, 然后编辑~/.bash_profile加入/home/wqf/usr/lib/utf8proc_2.2.0/lib做libpath,并重新source ~/.bash_profile.
cd /home/wqf/usr/lib/utf8proc_2.2.0/lib
cp -r /home/wqf/download/utf8proc-2.2.0/libutf8proc* .
cd cd /home/wqf/usr/lib/utf8proc_2.2.0/include
cp /home/wqf/download/utf8proc-2.2.0/utf8proc.h .
/home/wqf/usr/lib/utf8proc_2.2.0/include 加入 C_INCLUDE_PATH和CPLUS_INCLUDE_PATH
/home/wqf/usr/lib/utf8proc_2.2.0/lib 加入LD_LIBRARY_PATH和LIBRARY_PATH
最终正确安装:
./configure --prefix=/home/wqf/usr/lib/subversion_1.10.3 --with-lz4=internal
make
make install
验证如下:
bash-4.1$ svn --version
svn, version 1.10.3 (r1842928)
compiled Oct 12 2018, 14:42:34 on x86_64-unknown-linux-gnu
Copyright (C) 2018 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
The following authentication credential caches are available:
* Plaintext cache in /home/wqf/.subversion
* GPG-Agent
但是在运行svn checkout时出现错误
bash-4.1$ svn checkout https://....../...
svn: E170000: Unrecognized URL scheme for 'https://....../...'
原来SVN1.8以后需要serf软件包来支持访问http协议的版本库,不然会出现上面的错误。而serf需要使用scons来编译安装。
cd /home/wqf/download/scons-3.0.1
python setup.py install --prefix=/home/wqf/usr/lib/scons_3.0.1
安装完成后将scons目录加入PATH,运行一下命令看是否安装正确,结果得到如下错误:
bash-4.1$ scons --version
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 147, in <module>
globals()[__func_name] = __get_hash(__func_name)
File "/home/wqf/usr/lib/Python_2.7.15/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
SCons by Steven Knight et al.:
script: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog
engine: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog
engine path: ['/home/wqf/usr/lib/scons_3.0.1/lib/scons-3.0.1/SCons']
Copyright (c) 2001 - 2017 The SCons Foundation
通过运行下面Python命令可以看出是ssl库无法找到:
bash-4.1$ python
Python 2.7.15 (default, Jun 22 2018, 09:44:18)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import _hashlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libssl.so.1.0.0: cannot open shared object file: No such file or directory
通过locate libssl.so.1.0.0发现该库已经安装,所有将其路径加入到~/.bash_profile的LIBRARY_PATH即可。
这样以后scons可以正常工作了。
bash-4.1$ scons --version
SCons by Steven Knight et al.:
script: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog
engine: v3.0.1.74b2c53bc42290e911b334a6b44f187da698a668, 2017/11/14 13:16:53, by bdbaddog on hpmicrodog
engine path: ['/home/wqf/usr/lib/scons_3.0.1/lib/scons-3.0.1/SCons']
Copyright (c) 2001 - 2017 The SCons Foundation
接下来安装serf
tar -xjvf serf-1.3.9.tar.bz2
cd serf-1.3.9
scons PREFIX=/home/wqf/usr/lib/serf_1.3.9
scons install
之后将/home/wqf/usr/lib/serf_1.3.9/lib和/home/wqf/usr/lib/serf_1.3.9/include加入环境变量。
重新安装subversion
./configure --prefix=/home/wqf/usr/lib/subversion_1.10.3 --with-lz4=internal --with-serf=/home/wqf/usr/lib/serf_1.3.9
make
make install
bash-4.1$ svn --version
svn, version 1.10.3 (r1842928)
compiled Oct 15 2018, 09:05:24 on x86_64-unknown-linux-gnu
Copyright (C) 2018 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/
The following repository access (RA) modules are available:
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
* ra_serf : Module for accessing a repository via WebDAV protocol using serf.
- using serf 1.3.9 (compiled with 1.3.9)
- handles 'http' scheme
- handles 'https' scheme
The following authentication credential caches are available:
* Plaintext cache in /home/wqf/.subversion
* GPG-Agent
ra_serf模块终于安装好了。