Linux/SUSE安装svn客户端的问题记录

这 2 天负责架设一个支付业务的 webserver 测试项目,安装 svn 客户端的时候出现了各种问题,来记录下。

一、简单的说下安装过程:

#下载
wget http://subversion.tigris.org/downloads/subversion-1.6.9.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.9.tar.gz
#解压
tar zxvf subversion-1.6.9.tar.gz
tar zxvf subversion-deps-1.6.9.tar.gz
#编译
cd subversion-1.6.9
./configure --prefix=/usr/local/svn --without-berkeley-db
make
make install

执行 svn --version 查看是否有版本输出,如果提示找不到命令,则如下编辑/etc/profile

vim /etc/profile

在后面追加 SVN 变量即可:

#追加
export SVN_HOME=/usr/local/svn
export PATH=$SVN_HOME/bin:$PATH
#刷新
source /etc/profile

二、安装过程中出现的问题:

1、提示 OpenSSL 缺失

configure 配置 SVN 时可能提示如下错误信息: configure: error: We require OpenSSL; try --with-openssl

解决方法:编译前先安装了一个 openssl 即可

cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
tar -zxvf openssl-1.0.0a.tar.gz
cd openssl-1.0.0a
./config
./config -t
make depend
make
make test
make install

安装之后会在/usr/local 下生成一个 ssl 目录,编译 SVN 时加上 openssl 路径即可:

./configure --prefix=/usr/lcoal/svn --without-berkeley-db --with-openssl=/usr/local/ssl
2. zlib 依赖缺失

configure 配置 SVN 时可能提示如下错误信息:

configure: error: subversion requires zlib

解决办法:安装 zlib

cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
3、expat 依赖缺失

configure 配置 SVN 时可能提示如下错误信息:

configure: error: no XML parser was found: expat or libxml 2.x required

解决办法:安装 expat

cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure
make
make install
3、SQLite 依赖缺失

报错信息如下:

get the sqlite 3.7.6.3 amalgamation from:
http://www.sqlite.org/sqlite-amalgamation-3.7.6.3.tar.gz
unpack the archive using tar/gunzip and copycopy sqlite3.c from the
resulting directory to:
/home/software/subversion-1.7.0-rc3/sqlite-amalgamation/sqlite3.c
configure: error: Subversion requires SQLite

如果按照文章开头的方法安装,则不会出现此错误

解决办法:加入sqlite3.c 模块后再编译

①、下载报错信息里面的sqlite-amalgamation-3.7.6.3.tar.gz 并解压:

wget http://www.sqlite.org/sqlite-amalgamation-3.7.6.3.tar.gz

②、在 svn 源码目录创建sqlite-amalgamation 文件夹

cd subversion-1.6.9

mkdir sqlite-amalgamation

③、拷贝sqlite-amalgamation-3.7.6.3.tar.gz 解压后的 sqlite3.c 到 sqlite-amalgamation 文件夹:

cp ../sqlite-amalgamation-3070800/sqlite3.c ./sqlite-amalgamation/

④、重新编译 svn 即可。

4、/usr/local/ssl/lib/libssl.a: could not read symbols: Bad value

报错信息如下:

/usr/bin/ld: /usr/local/ssl/lib/libssl.a(s23_clnt.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
/usr/local/ssl/lib/libssl.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libserf-0.la] Error 1
make[1]: Leaving directory `/usr/local/src/subversion-1.6.9/serf'
make: *** [external-all] Error 1

解决办法:添加 --without-serf 参数重新编译 subversion 即可,比如:

./configure --prefix=/usr/local/svn --without-berkeley-db --without-serf
5、不支持 http://方式

全部安装完成,使用如下命令配置 svn 的时候:

svn co http://192.168.1.101/deploy/trunk/project

会提示“无法识别的 url 方案(一般需要 svn://,http://,file:///等开头)"http://192.168.1.101..."

Ps:如果是按照文章开始的方法安装,应该不会出现这个问题。

解决办法:安装 neon 让 svn 来支持 http 和 https 方式

wget http://www.webdav.org/neon/neon-0.29.6.tar.gz tar
tar zxvf neon-0.29.6.tar.gz tar
cd neon-0.29.6
./configure --prefix=/usr/local/neon --with-ssl=openssl
make
make install

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏用户画像

Maven安装与配置

 1、Maven下载 http://maven.apache.org/download.cgi 直接解压到一个目录 即可

982
来自专栏LinXunFeng的专栏

hexo+github 搭建个人技术博客

1803
来自专栏自然语言处理

真机环境下MySQL-Cluster搭建文档

MySQL cluster 和 Oracle RAC 完全不同,它采用 无共享架构Shared nothing(shared nothing arc...

972
来自专栏编程思想之路

git撤销修改各种情况

如何在Git里撤销(几乎)任何操作 一、撤销一个已经公开的改变 场景:已经执行了gitpush,将修改发送到了github,需要撤销某一个commit。 方法:...

31710
来自专栏雪胖纸的玩蛇日常

使用Navicat for MySQL把本地数据库上传到服务器

8675
来自专栏张善友的专栏

ASP.NET 2.0 中 Web 事件

ASP.NET 2.0 还提供了全功能的应用程序监视和健康监视。这个系统是由一个完全可扩展事件模型和一个能将事件发送到多种接收器的事件引擎组成的。举例来说,您可...

2137
来自专栏云计算教程系列

如何在CentOS 7上安装MySQL

MySQL是一个开源数据库管理系统,通常情况下,安装它作为流行的LEMP(Linux,Nginx,MySQL/ MariaDB,PHP / Python /Pe...

4304
来自专栏木子昭的博客

Github变身网络硬盘

1836
来自专栏Java成神之路

Saiku_学习_01_saiku安装与运行

访问 localhost:8080/upload.html ,可以看到一个让你上传license的页面,如下图:

2254
来自专栏程序员互动联盟

【专业技术】编译器的工作原理

源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 #include <stdio.h>int ma...

3737

扫码关注云+社区

领取腾讯云代金券