1、编译Berkeley DB 在网站下载db-4.4.20.tar.gz,上传到/tmp目录下 cd /tmp gunzip -d db-4.4.20.tar.gz tar xf db-4.4.20.tar cd db-4.4.20/build_unix ../dist/configure --prefix=/usr/local --disable-largefile make make install
2、编译Apache 2.0 Apache 2.0引入了Apache Portable Runtime (APR)组件, Subversion也建立在这一可移植层上,apache2和subversion也是因为这个东西而无法直接编译,必须要修改, 从下载httpd-2.0.55.tar.bz2, 传到/tmp cd /tmp bunzip2 httpd-2.0.55.tar.bz2 tar xf httpd-2.0.55.tar cd httpd-2.0.55 ./configure --prefix=/usr/local --enable-dav --enable-so --disable-nls --disable-ipv6 此时要修改一个文件,否则无法编译 vi srclib/apr/include/arch/unix/apr_private.h 找到包含HAVE_GETADDRINFO的一行,删除,存盘退出,开始编译 gmake gmake install
修改apachectl文件 vi /usr/local/bin/apachectl 将第一行#!/bin/sh改为#!/bin/ksh
修改httpd.conf vi /usr/local/conf/httpd.conf 将User nobody改为User nouser 将Group #-1改为Group nogroup
3、编译subversion 从下载subversion-1.3.0,传到/tmp cd /tmp bzip2 -d subversion-1.3.0.tar.bz2 tar xvf subversion-1.3.0.tar cd subversion-1.3.0 修改一个文件,要不然无法编译 vi neon/configure 在第26448行之后插入一行 ne_enable_gai=no 存盘退出,进行编译 ./configure --prefix=/usr/local --with-apxs=/usr/local/bin/apxs --disable-nls --with-apr=/usr/local --with-apr-util=/usr/local gmake gmake install
编译及编译安装可能会出现的问题及解决的办法: 1.iconv_open cannot open conversion file /usr/lib/nls/conv/UTF-8_ISO8859-1 编辑:apr-util/include/private/apu_config.h and apr-util/include/apu.h ,将 HAVE_ICONV APU_HAVE_APR_ICONV APU_HAVE_ICONV 都注释掉。
2.apr/network_io/unix/sockaddr.c:518: `h_errno' undeclared (first use in this function) 在sockaddr.c 文件前面加上 "extern int h_errno;"