加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

linux centos 64 安装Svn

(2012-07-05 16:29:14)
标签:

linux

svn

版本控制器

it

分类: linux那些事
SVN完整安装:

版本:subversion-1.7.5
系统: centos5.7 64位
环境: Apache/2.2.22 (Unix) 
      PHP/5.4.4 目前最新稳定版 

首先,需要安装预先安装四个组件,你的subversion才能正常工作,并且apahce已经安装!

-系统在 默认情况下,是已经有apr-util及apr这两个包的,只不过他们的版本较低,只支持subversion 1.4

因此,具体可以看看:
# rpm -qa | grep apr
apr-util-1.2.7-7.el5_3.2
apr-util-1.2.7-7.el5_3.2
apr-1.2.7-11.el5_3.1
xorg-x11-drv-dynapro-1.1.0-2
apr-1.2.7-11.el5_3.1
-
而subversion要求较高的版本,为此,我们需要删除系统自带的apr,apr-util这两个包!强行删掉!

# rpm -e --allmatches apr-util
error: Failed dependencies:
libaprutil-1.so.0()(64bit) is needed by (installed) subversion-1.4.2-4.el5_3.1.x86_64
libaprutil-1.so.0()(64bit) is needed by (installed) httpd-2.2.3-31.el5.centos.x86_64
libaprutil-1.so.0 is needed by (installed) subversion-1.4.2-4.el5_3.1.i386
# rpm -e --allmatches apr-util --nodeps
# rpm -e --allmatches apr --nodeps
如果你没有执行以上步骤,你在安装完成后,你会发现你执行相关的命令都会报错!
如果是用yum 安装的以上的包那么直接 yum remove apr*


# svnadmin create /data/svn/repos1
svnadmin: symbol lookup error: /usr/local/svn/lib/libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr

# svnserve --version
svnserve: symbol lookup error: /usr/local/svn/lib/libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr
apr-1.4.6.tar.gz 
apr-util-1.3.8.tar.bz2 
neon-0.29.6.tar.gz 
sqlite-amalgamation(sqlite-autoconf-3070603.tar.gz) 

# wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz  
# tar -xzf apr-1.4.6.tar.gz 
# cd apr-1.4.6 
# ./configure --prefix=/usr/local/apr 
# make && make install  
# echo "/usr/local/apr/lib/" >> /etc/ld.so.conf  
# ldconfig  
 
# wget http://archive.apache.org/dist/apr/apr-util-1.3.8.tar.gz 
# tar -xjf apr-util-1.3.8.tar.gz
# cd apr-util-1.3.8 
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ 
# make && make install  
# echo "/usr/local/apr-util/lib" >> /etc/ld.so.conf 
# ldconfig 
安装中发出没找到neon,虽然编译的时候没有中断报错,但为了使用上的便利性,还是安装吧!

# wget http://www.webdav.org/neon/neon-0.29.6.tar.gz 
# tar -xzf neon-0.29.6.tar.gz  
# cd neon-0.29.6 
# ./configure --prefix=/usr/local/neon 
# make && make install 
# echo "/usr/local/neon/lib" >> /etc/ld.so.conf 
# ldconfig  



还要安装一个sqlite  编译svn的时候,提示: 有两个方法:一要么安装新的版本,二要么替换文件!

An appropriate version of sqlite could not be found.  We recommmend 
3.7.6.3, but require at least 3.6.18. 
Please either install a newer sqlite on this system 
or  
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 copy sqlite3.c from the 
resulting directory to: 
/root/subversion-1.7.5/sqlite-amalgamation/sqlite3.c 
备注:

sqlite-amalgamation 这目录在subversion-1.7.5下是没有的,觉得很奇怪,Google后发

现要自己建立。

提示中的地址已经找不到了!
如果在缺少库库文件就需要这个了 subversion-deps-1.6.17.tar.gz
# mkdir /root/subversion-1.7.5/sqlite-amalgamation 
# wget http://www.sqlite.org/sqlite-autoconf-3070603.tar.gz 
# tar -xzf sqlite-autoconf-3070603.tar.gz 
# cd sqlite-autoconf-3070603 
# cp sqlite3.c /root/subversion-1.7.5/sqlite-amalgamation/ 
   注意这个cp是放到 subversion的安装包文件的 也就是刚解压的那个 如果sqlite-amalgamation 这个是需要新建的 然后cp sqlite3.c进去, 在执行下面的编译安装 nginx也是如此  
再次开始编译!

# ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr- 
 
util=/usr/local/apr-util --with-neon=/usr/local/neon 
 
这个警告,无所谓的,只是告诉你Berkeley DB已不再被支持了。 
You don't seem to have Berkeley DB version 4.0.14 or newer 
installed and linked to APR-UTIL.  We have created Makefile which will build 
Subversion without support for the Berkeley DB back-end.  You can find the 
latest version of Berkeley DB here: 
 
# make && make install  
# echo "/usr/local/svn/lib" >> /etc/ld.so.conf 
# ldconfig 
-此时,可以看下apache是否有生成相应的模块!

[root@AY120625105959cad1863 subversion-1.7.5]# ls /usr/local/apache2/modules/  | grep svn
mod_authz_svn.so
mod_dav_svn.so
[root@AY120625105959cad1863 subversion-1.7.5]# /usr/local/svn/bin/svn --version
svn, version 1.7.5 (r1336830)
   compiled Jul  5 2012, 17:24:05

Copyright (C) 2012 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_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.
  - with Cyrus SASL authentication
  - handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
  - handles 'file' scheme
安装成功了!


------------------------------错误处理 ----------------
1. Can't locate ExtUtils/Embed.pm in 
 yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker就可以了   

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有