术语汇编:剖析Subversion编译相关问题
创始人
2024-07-01 03:31:50
0

大家都知道Subversion(svn)是很好的版本管理工具,它有三个最常用的模块,但如果进行手动Subversion编译安装,实在是一件困难的事情。下面首先来看看最常用的模块。

Subversion有三个最常用的模块:
*ra_svn:使用svn网络协议访问档案库的模块。
-handles’svn’scheme
◆ra_local:访问本地磁盘的档案库模块。
◆ra_dav:访问http://档案库模块。
前面两个,是Subversion编译的默认模块,ra_dav是大多数人遇到的问题。如果ra_dav没有编译到系统中,当你从http://这样的路径checkout时,会出现这样的错误提示:svn:UnrecognizedURLscheme
那么,如何编译ra_dav呢?你至少需要越过以下几道关卡:
1、ra_dav是由一个叫neon的软件完成的,你需要安装neon。
neon的官方网站:http://www.webdav.org/neon/
2、重新configureSubversion
这一步非常重要,稍不小心,就可能会找不到neon,即使你已经安装neon,即使你已经将neon的源代码加压到Subversion的目录下,即使你已经把neon-0.28.4改名为neon目录。configureSubversion有一个很不爽的地方就是,当你configure配置了neon,但configure失败的时候,它不会把这个结果在执行完单独列出来,而是在configure的输出过程中显示,让人误以为configureok,其实,neon并没有被configure进去。

在我编译Subversion1.6.1版本中,neon失败的输出为:
configure:checkingneonlibrary
Anappropriateversionofneoncouldnotbefound,solibsvn_ra_neon
willnotbebuilt.Ifyouwanttobuildlibsvn_ra_neon,pleaseeither
installneon0.28.4onthissystem or
getneon0.28.4from:
http://www.webdav.org/neon/neon-0.28.4.tar.gz
unpackthearchiveusingtar/gunzipandrenametheresulting
directoryfrom./neon-0.28.4/to./neon/

我之前尝试了多种configure的方法,例如:./configure–prefix=/usr/–with-apr=/usr/bin/apr-1-config–with-apr-util=/usr/bin/apu-1-cfig–with-neon=/usr/bin/neon-config–with-zlib=/lib–with-apache-libexecdir–with-apxs=/usr/sbin/apxs或者把neon解压到当前目录,并改名为neon,configure如下:./configure–prefix=/usr/–with-apr=/usr/bin/apr-1-config–with-apr-util=/usr/bin/apu-1-cfig–with-neon=./neon–with-zlib=/lib–with-apache-libexecdir–with-apxs=/usr/sbin/apxs
这两种configure方式都会导致neon无法作为Subversion的编译选项,正确的configure方法是–with-neon后不加参数,这个Subversion的configure也真是够贱的!./configure–prefix=/usr/–with-apr=/usr/bin/apr-1-config–with-apr-util=/usr/bin/apu-1-cfig–with-neon=–with-zlib=/lib–with-apache-libexecdir–with-apxs=/usr/sbin/apxs
这一步完成后,make&&makeinstall就没有问题了。

Subversion编译安装完成后,使用svn–admin来验证:
#svn–version
svn,version1.6.1(r37116)
compiledApr292009,10:56:22
Copyright(C)2000-2009CollabNet.
Subversionisopensourcesoftware,seehttp://Subversion.tigris.org/
ThisproductincludessoftwaredevelopedbyCollabNet(http://www.Collab.Net/).
Thefollowingrepositoryaccess(RA)modulesareavailable:
◆ra_neon:ModuleforaccessingarepositoryviaWebDAVprotocolusingNeon.
-handles‘http’scheme
◆ra_svn:Moduleforaccessingarepositoryusingthesvnnetworkprotocol.
-handles’svn’scheme
◆ra_local:Moduleforaccessingarepositoryonlocaldisk.
-handles‘file’scheme

以上内容引自http://www.9say.com/2009/04/Subversion-compile-with-ra-dav/
另外在按上面方法进行解决的时候发现问题:当把neon解压到当前目录,并改名为neon后,configure如下:
./configure–prefix=/usr/–with-apr=/usr/bin/apr-1-config–with-apr-util=/usr/bin/apu-1-cfig–with-zlib=/lib–with-apache-libexecdir–with-apxs=/usr/sbin/apxs就可以了,无需指定neon。大家在configure的时候看有没有找到neon如果找到,就肯定没有问题了。
另外关于make时遇到fPCI的问题,请把neon/src/下的Makefile里的CFLAGS=-g-02改为CFLAGS=-fPIC-g-02.,好了Subversion编译问题到这里已经介绍完了,如果你想学习其他有关Subversion方面的知识,请单击www.51cto.com查找相关内容。
.

【编辑推荐】

  1. Subversion SVN协议解析远程整数溢出漏洞
  2. CentOS系统中安装subversion并使用svn+ssh访问
  3. SubVersion Windows安装指南
  4. 七步搞定Subversion服务器在Ubuntu下的配置
  5. 如何结合使用Subversion和Eclipse

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...