OS:     centOS 5.8

 
 Software:Apache 2.2.22
 
编译参数:
 
 
./configure --prefix=/usr/local/apache \
 
--enable-so --enable-rewrite \
 
 --enable-mods-shared=most \
 
--with-include-apr
 
 
 
 
编译安装Apache2.2.22 make时所报错误如下:
 
 modules/http/.libs/libmod_http.a(byterange_filter.o): In function `ap_set_byterange':
 
byterange_filter.c:(.text+0x12c1): undefined reference to `apr_array_clear'
 
collect2: ld returned 1 exit status
 
make[1]: *** [httpd] Error 1
 
make[1]: Leaving directory `/root/works/httpd-2.2.22'
 
make: *** [all-recursive] Error 1
 
错误分析:经过排查,倒不是因为我没有安装apr和apr-util这两个软件包所致,而是我操作系统自动安装了这两个软件才导致的错误;可能是因为系统自带的apr、apr-util版本较低。
 
解决:Apache2.2.22修复了不少重要安全问题,源码包包含APR(Apache Portable Runtime)1.4.5和APR-util(Apache Utility Library)1.4.2 ,(PS:源码包内srclib里有apr和apr-util两个目录),将安装前已存在于系统中的apr去除后,重新编译apache2.2.22即可!
 
 
本文出自 “Stephen” 博客