Apache Server经过这么多年的发展后,将一些通用的运行时接口封装起来提供给大家,这就是Apache Portable Run-time libraries, APR
apr,apr-util的下载页面
注意最好选择同一个页面上面的版本
http://apr.apache.org/download.cgi
apr,apr-util的下载页面,在选择的时候最好要版本对应
1.下载apr和安装apr
wget http://labs.mop.com/apache-mirror//apr/apr-1.4.6.tar.gz
tar -zxvf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure --prefix=/usr/local/apr
make&&make install
2.下载aprutil和安装aprutil
tar -zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure --with-apr=/usr/local/apr --prefix=/usr/local/aprutil
make && make install
用于apr的configure脚本的选项:
可选特性
--enable-experimental-libtool
启用试验性质的自定义libtool
--disable-libtool-lock
取消锁定(可能导致并行编译崩溃)
--enable-debug
启用调试编译,仅供开发人员使用。
--enable-maintainer-mode
打开调试和编译时警告,仅供开发人员使用。
--enable-profile
打开编译profiling(GCC)
--enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all]
打开pools调试
--enable-malloc-debug
打开BeOS平台上的malloc_debug
--disable-lfs
在32-bit平台上禁用大文件支持(large file support)
--enable-nonportable-atomics
若只打算在486以上的CPU上运行Apache ,那么使用该选项可以启用更加高效的基于互斥执行的原子操作。
--enable-threads
启用线程支持,在线程型的MPM上必须打开它
--disable-threads
禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。
--disable-dso
禁用DSO支持
--enable-other-child
启用可靠子进程支持
--disable-ipv6
禁用IPv6支持
可选的额外程序包
--with-gnu-ld
指定C编译器使用 GNU ld
--with-pic
只使用 PIC/non-PIC 对象[默认为两者都使用]
--with-tags[=TAGS]
包含额外的配置
--with-installbuilddir=DIR
指定APR编译文件的存放位置(默认值为:’${datadir}/build’)
--without-libtool
禁止使用libtool连接库文件
--with-efence[=DIR]
指定Electric Fence的安装目录
--with-sendfile
强制使用sendfile(译者注:2.6系列的Linux内核已经不再支持sendfile系统调用)
--with-egd[=DIR]
使用EDG兼容的socket
--with-devrandom[=DEV]
指定随机设备[默认为:/dev/random]
用于apr-util的configure脚本的选项:
可选的额外程序包
--with-apr=PATH指定APR的安装目录(–prefix选项值或apr-config的路径)
--with-ldap-include=PATH
ldap包含文件目录(带结尾斜线)
--with-ldap-lib=PATH
ldap库文件路径
--with-ldap=library
使用的ldap库
--with-dbm=DBM 选择使用的DBM类型DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44}
--with-gdbm=PATH
指定GDBM的位置
--with-ndbm=PATH
指定NDBM的位置
--with-berkeley-db=PATH
指定Berkeley DB的位置
--with-pgsql=PATH
指定PostgreSQL的位置
--with-mysql=PATH
参看INSTALL.MySQL文件的内容
--with-sqlite3=PATH
指定sqlite3的位置
--with-sqlite2=PATH
指定sqlite2的位置
--with-expat=PATH
指定Expat的位置或’builtin’
--with-iconv=PATH
iconv的安装目录