Install Subversion under FreeBSD manual

如今的Apache Subversion安装依赖项很多。安装的时候需要注意不要遗漏。不过好在的是Subversion的源码包./configure会一一检测这些依赖项,如果当前系统缺少其中某些REQUIRED依赖项,那么会停止生成Makefile并给出相应的提示,如果是缺少OPTIONAL依赖项,那么也会给予相应的警告。

 

先列出Subversion一些REQUIRED依赖项

1.apr(Apache Portable Runtime)

2.apr-util(Apache Portable Runtime Utility)

3.SQLite

4.ZLib(大多数系统都自带了)

5.expat(FreeBSD没有自带,并且Subversion官方INSTALL文档没有给出任何说明,需要注意)

 

再列出这次安装我选择安装的OPTIONAL依赖项

1.BerkeleyDB

 

下面则是这次安装详细步骤

1.安装apr

 

tar -zxf apr-1.4.2.tar.bz2

cd apr-1.4.2

./configure

make & make install

直接搞定,注意默认安装的路径,一般是在/usr/local/apr/

 

2.安装apr-util

tar -zxf apr-util-1.3.10.tar.bz2

cd apr-util-1.3.10

./configure --with-apr=/usr/local/apr/bin/apr-1-config

make & make install

这里是在apr安装之后的基础上,并用--with-apr指定apr的配置工具路径作为./configure的参数从而得到Makefile

 

3.安装SQLite

其实不用安装SQLite,只用解压出来就行了。到时候执行Subversion的./configure配置文件的时候需要用到SQLite包中的一个源文件sqlite3.c

 

4.安装expact

expact够标准的,安装三步曲即可

 

5.BerkeleyDB

tar

./configure

make & make install

安装也是三部曲,不过安装之后在FreeBSD这种unix系统上,有点区别,需要设置一下动态链接库。

最近版本的BerkeleyDB是5.1的,所以默认安装出来的目录是在

/usr/local/BerkeleyDB.5.1/,在其下的lib目录有相应的动态链接库文件so,Subversion的./configure文件执行时会来检测并连接到这些文件,不过./configure的参数如果设置的对的话,是能连接到这些文件的,可是当可执行文件执行是,ld是找不到这个目录下的so的,所以这也会导致./configure的检测返回false。即便在FreeBSD系统下用ldconfig来扫描这个文件夹下,也是不会加入任何项目到ldcofig的cache文件里的,这是因为BerkeleyDB默认安装的时候把这些so文件命名为类似libdb-5.1.so这种格式,这在Linux下是没有任何问题的,可以正确的被ldconfig检测到,并包含进它的cache中。可是在FreeBSD中ldconfig这种工具最原生的,就连参数和Linux下有所不同。在FreeBSD中只会在扫描到libdb-5.1.so.0这种在最后还有一个子版本号的数字才会包含进它的cache文件中。

所以这里需要做的一件事就是复制一个so文件,以新的格式名命名,并在/usr/local/BerkeleyDB-5.1/lib下建立一个符号链接,指向这个so文件,让编译的时候引用到这个符号链接文件,就相当于连接到了新复制出来的名字符合要求的so文件。并且这个新so文件能被ldconfig扫描到,这样编译出来的可执行文件就能够加载到该动态链接库。

cp libdb-5.1.so libdb-5.1.so.0

ln libdb.so libdb-5.1.so.0

并在/etc/ld-elf.conf中加入/usr/local/BerkeleyDB.5.1/lib这个路径,这样系统每次启动的时候就会自动来扫描这个路径下的so,而libdb-5.1.so.0这个so文件就被加入到ldconfig的cache文件中了。啊。真麻烦的一个步骤,我也纠结了很久。。干。。。。。

 

6.终于轮到Subversion了。前戏还真久啊。

tar -zxf subversion-1.6.13.tar.bz2

cd subversion-1.6.13

./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-apu=/usr/local/apr/bin/apu-1-config --with-sqlite=sqlite解压包所在的路径/sqlite3.c --with-berkeley-db=db.h:/usr/local/BerkeleyDB.5.1/include:/usr/local/BerkeleyDB.5.1/lib:db

注意一下--with-berkeley-db参数的格式,其意思是指用 /usr/local/BerkeleyDB.5.1/include这个路径下的db.h,并连接/usr/local/BerkeleyDB.5.1/lib下的libdb.so

 

上面的./configure正确执行后,生成了Makefile,下面的步骤不用我说也回了吧。。

make & make install

 

纠结了整整一个下午。终于算是在FreeBSD下安装好了,果然和Linux下不太一样。很多细节需要注意啊。。。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值