SVN源码安装

下载:http://download.csdn.net/detail/yangguangmeng/7558605

本文简单的介绍SVN的编译和安装过程。


1. SVN源码包下载

    从以下URL下载源码包:
    subversion-1.4.4.tar.bz2       http://subversion.tigris.org/downloads/subversion-1.4.4.tar.bz2
    subversion-deps-1.4.4.tar.bz2  http://subversion.tigris.org/downloads/subversion-deps-1.4.4.tar.bz2 

2. 编译步骤

    执行以下2条命令,解压得到源程序:
    tar -jxf subversion-1.4.4.tar.bz2
    tar -jxf subversion-deps-1.4.4.tar.bz2将该文件在别处解压后复制到subversion-1.4.4目录下

    通过以下命令编译SVN:
    cd subversion-1.4.4
    ./configure
    make

    执行以下命令安装SVN:
    make install

3. 安装SVN客户端

    经过"make install"命令后,就安装的整个 SVN的系统。但在只作客户端的机器上,只需要运行svn命令就完成代码的捡出、提交等SVN功能了。这样,我们可以将目前编译的svn程序打包后,安装到其它机器上就可以了。 

    注意:文件subversion/svn/svn只是脚步文件,真正的二进制可执行文件为subversion/svn/.libs/svn。
    [root@localhost subversion-1.4.4]# file subversion/svn/svn
    subversion/svn/svn: Bourne shell script text executable
    [root@localhost subversion-1.4.4]# file subversion/svn/.libs/svn 
    subversion/svn/.libs/svn: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

    我们先看看svn关联的动态库,结果如下显示:
    [root@localhost subversion-1.4.4]# ldd subversion/svn/.libs/svn
        libsvn_client-1.so.0 => /usr/local/lib/libsvn_client-1.so.0 (0x40013000)
        libsvn_wc-1.so.0 => /usr/local/lib/libsvn_wc-1.so.0 (0x40034000)
        libsvn_ra-1.so.0 => /usr/local/lib/libsvn_ra-1.so.0 (0x4005c000)
        libsvn_diff-1.so.0 => /usr/local/lib/libsvn_diff-1.so.0 (0x40060000)
        libsvn_ra_local-1.so.0 => /usr/local/lib/libsvn_ra_local-1.so.0 (0x40066000)
        libsvn_repos-1.so.0 => /usr/local/lib/libsvn_repos-1.so.0 (0x4006c000)
        libsvn_fs-1.so.0 => /usr/local/lib/libsvn_fs-1.so.0 (0x40088000)
        libsvn_fs_fs-1.so.0 => /usr/local/lib/libsvn_fs_fs-1.so.0 (0x4008e000)
        libsvn_ra_svn-1.so.0 => /usr/local/lib/libsvn_ra_svn-1.so.0 (0x400a5000)
        libsvn_ra_dav-1.so.0 => /usr/local/lib/libsvn_ra_dav-1.so.0 (0x400b4000)
        libsvn_delta-1.so.0 => /usr/local/lib/libsvn_delta-1.so.0 (0x400de000)
        libsvn_subr-1.so.0 => /usr/local/lib/libsvn_subr-1.so.0 (0x400e7000)
        libaprutil-0.so.0 => /usr/local/apr/lib/libaprutil-0.so.0 (0x40111000)
        libapr-0.so.0 => /usr/local/apr/lib/libapr-0.so.0 (0x40125000)
        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40150000)
        librt.so.1 => /lib/librt.so.1 (0x40180000)
        libm.so.6 => /lib/i686/libm.so.6 (0x40191000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x401b3000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x401e0000)
        libdl.so.2 => /lib/libdl.so.2 (0x401f6000)
        libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x401f9000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4020c000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x40269000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x40279000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x4027b000)
        libz.so.1 => /usr/lib/libz.so.1 (0x4029c000)
        libc.so.6 => /lib/i686/libc.so.6 (0x42000000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    svn关联的一堆动态库,如果要将本机编译的svn程序复制到其他机器上运行,还必须带上这些动态库,比较麻烦。而且有时复制这些文件后,由于覆盖了原有的动态库可能影响其它程序的运行。

    因此,我们需要重新编译一个只链接静态库的svn程序,该svn程序就不再关联任何动态库。若需要再其他机器上安装客户端,只需复制单个文件svn就可以了。

    编译过程如下:
    ./configure --enable-all-static
    make

     sudo make install


    通过以下步骤编译生成的svn程序为subversion/svn/svn。
    [root@Outside ~/subversion-1.4.4]# file subversion/svn/svn
    subversion/svn/svn: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, stripped
    
    我们看看svn程序的动态库关联情况。
    [root@Outside ~/subversion-1.4.4]# ldd subversion/svn/svn 
        not a dynamic executable

    因为该文件连接的为静态库,所以文件比较大,我们可以通过strip命令去除调试信息。
这样只要单独复制该文件到客户机上就可以了。
    [root@Outside ~/subversion-1.4.4]# ls -l subversion/svn/svn
    -rwxr-xr-x    1 root     1000     13120320 Nov  9 16:25 subversion/svn/svn
    [root@Outside ~/subversion-1.4.4]# strip subversion/svn/svn
    [root@Outside ~/subversion-1.4.4]# ls -l subversion/svn/svn

    -rwxr-xr-x    1 root     1000      1750300 Nov  9 16:31 subversion/svn/svn


linux下libxml工具的安装

1 下载libxml工具包( www.xmlsoft.org) eg、libxml2-2.7.2.tar.gz
2 解压该工具包:tar -zxvf libxml2-2.7.2.tar.gz 
3 创建没表文件夹:mkdir /home/libxml
4 进入libxml2-2.7.2根目录:cd libxml2-2.7.2
5 提升权限:su
6 配置安装环境 sudo ./configure --prefix /home/libxml
7 make工程:make
8 安装:make install
进入/home/libxml,将会发现bin、include、lib、share四个文件夹,OK,安装成功!

运行libxml附带的示例:
1  进入libxml2-2.7.2/example目录下,将gjobread.c及gjobs.xml拷贝到一个实例文件夹,如/home/xmltest
2  进入该实例文件夹:cd /home/xmltest
3  编译该实例源程序:gcc gjobread.c -o gjobread -I /home/libxml/include -L /home/libxml/lib -lxml2
4 运行实例:./gjobread
看看都显示些什么吧!
 
 
"libxml/parser.h: 没有那个文件或目录"解决方案
2011-03-17 22:05

这是因为在ubuntu上没有安装libxml2-dev,这个包应该是开发用的,而已安装的libxml2应该只是像jre一样的部件。

解决方案:sudo apt-get install libxml2-dev 这个命令算是安装上了。所有的头文件在/usr/include/libxml2/这个文件目录下,lib文件在/usr/lib在这个下面。

sudo ln -s /usr/include/libxml2/libxml   /usr/include/libxml

g++ -lxml2 xxx xxx.cpp


对于高版本:

http://www.openssl.org/source/

安装OpenSSL

php make报错:/usr/local/openssl/lib/libssl.a: could not read symbols: Bad value

原因openssl

重新编译安装

修正参数如下:

openssl:

./config -fPIC --prefix=/usr/local/openssl/ enable-shared

 

Apache:

代码:
CFLAGS="-m64 -O3" CXXFLAGS="-m64 -O3" ./configure --prefix=/usr/local/apache --disable-cgi --disable-cgid --disable-nw-ssl --enable-auth-anon=shared --enable-auth-dbm=shared --enable-auth-digest=shared  --enable-cache=shared --enable-charset-lite=shared --enable-dav=shared --enable-dav-fs=shared --enable-dav-lock=shared --enable-deflate=shared --enable-disk-cache=shared --enable-expires=shared --enable-file-cache=shared --enable-mem-cache=shared --enable-mime-magic=shared --enable-proxy=shared --enable-proxy-ajp=shared --enable-proxy-balancer=shared --enable-proxy-connect=shared --enable-proxy-ftp=shared --enable-proxy-http=shared --enable-rewrite=shared --enable-so --enable-ssl=static --enable-unique-id=shared --enable-usertrack=shared --enable-vhost-alias=shared --with-mpm=prefork --with-ssl=/usr/local/openssl

PHP:

代码:
CFLAGS="-m64 -O3" CXXFLAGS="-m64 -O3" ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=mysqlnd  --with-mysqli=mysqlnd  --with-pdo-mysql=mysqlnd --enable-mbstring=all --with-mcrypt --disable-cgi --enable-libgcc --enable-zend-multibyte --with-openssl


 ./configure --enable-all-static --with-openssl=/openssl目录

当sudo make install时候serf找不到,则进入subversion目录下面的serf下编译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值