设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 操作系统 >> UNIX系统 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
路由技术:在SCO UNIX架…
sol9_x86+apache+mysql+…
Solaris8安装内存分析工…
snoop抓包工具详细解说
SCO5+informix7准备数据…
DEC OSF/1 NFS类网络故障…
配置IPMP实例/Configure…
关于在部分Dual Core双核…
SCO OPENSERVER操作系统
chroot的用法
  SCO OpenServer下Subversion的编译及使用         
SCO OpenServer下Subversion的编译及使用
 

http://www.chinaunix.net 作者:sunlan  发表于:2006-03-08 20:23:59
1. 说明
Subversion是一个开源的版本管理工具,其目标是为了代替目前比较流行的另一版本管理工具CVS。
由于Subversion没有提供SCO操作系统下的二进制安装包,因此必须使用源码手工编译。
网上有人介绍过在SCO下分步编译berkeley db、Apache、Subversion的方法,但那个方法既烦琐、又非必须,而且还不一定能成功。本文所介绍的是直接使用Subversion的源码包进行编译的方法。
Subversion 1.1之前的版本将代码仓库(repository)保存在berkeley db数据库中,从版本1.1开始突破了此限制,可以选择以普通文件的形式对软件版本进行管理。因此在版本的选择上最好选择最新的版本,以获得更为完善的功能。
本文中使用的Subversion版本为1.3.0。

2. 源码下载
Subversion的源码可以从其官方网站(http://subversion.tigris.org)下载。目前的最新版本是1.3.0。
下载后将源码包在SCO下解压、解包。本文中假设解包后的目录为/usr/test/subversion-1.3.0。

3. 编译前准备
本文中所讲述的安装及配置过程均在SCO OSR 5.0.6下完成。编译过程中用到了开源软件gcc和libiconv。
3.1. 操作系统环境
操作系统的版本为SCO Openserver 5.0.6(KernelID  2000-07-27),安装了开发系统(SCO OpenServer Development System (ver 5.1.2A))。
除此之外,系统未安装其它补丁。
3.2. gcc
Subversion的源码中使用了long long数据类型,而这种类型在SCO自带的cc编译器下是不被支持的。因此,必须安装gcc用于编译。
gcc编译器可以从SCO的官方网站下载二进制安装包(版本为2.95.2),也可以通过使用gcc的源码编译获得更高的版本。
3.3. libiconv
Subversion在实现时提供了语言转换的功能。但由于SCO在编码转换方面做的比较差,在缺省编译下执行Subversion命令时会报下面的错误:
iconv_open cannot open conversion file /usr/lib/nls/conv/UTF-8_ISO8859-1
解决的办法是在编译时使用GNU libiconv替换SCO自带的iconv函数。
libiconv的源码可以从www.gnu.org下载。下载后需要编译及安装。在编译时建议使用静态编译,只生成静态库。
本文中假定libiconv的安装目录为/usr/test/iconv。

4. 配置
为了避免由于误操作破坏Subversion的源码,一般将配置和编译在另外的目录下进行。
在/usr/test下创建svntmp目录。进入svntmp目录,执行以下命令:
../subversion-1.3.0/configure --prefix=/usr/local/svn --without-berkeley-db --enable-all-static --disable-nls --disable-mod-activation --enable-dso=no --enable-javahl=no CFLAGS="-I/usr/test/iconv/include" LDFLAGS="-L/usr/test/iconv/lib -liconv"
其中几项主要的参数含义如下:
prefix:Subversion的安装目录,完成编译后执行make install时将相关文件拷贝至该目录下。缺省为/usr/local。也可以指定其他目录。
without-berkeley-db:代码库不存放在数据库中,而是使用普通文件(目录)的形式管理。
enable-all-static:不使用动态链接库,只生成静态二进制码。用于提高可复制性。
CFLAGS、LDFLAGS:用于指定libiconv的存放路径,替换SCO自带的iconv。
其它参数含义见subversion-1.3.0/configure --help。

5. 编译
首先,进入源码目录(subversion-1.3.0),手工修改以下两个程序:
apr/network_io/unix/sockaddr.c
neon/src/ne_socket.c
在这两个程序中增加全局变量
extern int h_errno;
修改完成并保存后,在svntmp下执行
make
Subversion的源码包较大,编译所需要的时间和机器配置有关,因此建议使用配置高一些的机器进行编译。

6. 安装
在完成Subversion的编译后,使用su命令切换至root用户,执行
make install
将编译出来的Subversion系统安装到指定目录下(本文中为/usr/local/svn)。

7. 安装后的检查和验证
进入/usr/local/svn,检查目录和文件。该目录下包括了bin、lib、include、man等多个目录。其中lib和include目录是用于二次开发的。
对于大多数用户,只需要bin目录下”svn”打头的程序就足够了。由于本文中编译使用了enable-all-static选项,因此可以直接将这几个程序复制到别的机器上使用,而不需要同时复制其它的支持库。
将Subversion安装路径加入执行搜索路径
PATH=$PATH:/usr/local/svn/bin; export PATH
然后执行
svn help
将得到Subversion的版本信息和使用方法的提示,这就说明Subversion已经可以正常使用了!

8. 使用
Subversion的使用详见官方文档。
Linux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-2 2:40:54
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持