术语汇编:剖析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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...