Apache 2.4.2 编译常见错误解决方式

尝试了一把从2005年以来第一次重大更新的新版本apache
不仅加入了云计算的基因 更大幅提升了性能
I/O读写和内存占用优化程度比较大
主要是增加了一个enevt模式 测试效果不错

实际我测试的 单纯的编译后静态文件和nginx的处理性能
确实已经相差不大
测试是使用ab测试的 单台nginx和阿帕奇测试后对比数据
获得的结果 下次进行系统的测试在发测试数据
暂时只是测试了jpg图片 和html静态的文件 数据可能没代表性

下面把编译的时候 常见的错误贴下
rotatelogs.o: In function post_rotate':
rotatelogs.c:(.text+0x5ed): undefined reference to
apr_file_link’
collect2: ld returned 1 exit status
make[2]: *** [rotatelogs] Error 1
make[2]: Leaving directory /root/src/httpd-2.4.2/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
/root/src/httpd-2.4.2/support’
make: *** [all-recursive] Error 1

这些是因为没apr的包
有2个解决方式
第一种解决办法
yum remove “apr*”
wget //ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
tar xzf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure ; make ; make install
wget //ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure –with-apr=/usr/local/apr
yum install -y pcre-devel lua-devel libxml2-devel

第二种解决办法
下载arp的包以后 cp到httpd的文件夹
cp -r apr-1.4.6 httpd-2.4.2/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.2/srclib/apr-util

就可以解决了

第二个常见的错误 这种只有mini安装会出现 一般大部分菜鸟都不会安装devel的包

checking for OpenSSL version >= 0.9.7… FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl… configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

解决办法
yum install openssl-devel
yum update openssl

近期准备把所有服务器都升级到httpd 2.4.2 获得更好的性能

相关:

  • apache 2 4 2
  • apache2 4 2
  • undefined reference to `apr_file_link
  • configure: WARNING: OpenSSL version is too old
  • checking for OpenSSL version >= 0 9 7 FAILED
  • mod_ssl has been requested but can not be built due to prerequisite failures
  • rotatelogs c:( text 0x5ed): undefined reference to `apr_file_link
  • apache undefined reference to `apr_file_link
  • rotatelogs o: In function `post_rotate:
  • apache 2 4 2 编译

2 thoughts on “Apache 2.4.2 编译常见错误解决方式

  1. 回复
    小新-2012年6月13日

    大哥,我安装您的方法来搞,一样报错啊,第一种错误,求教。….qq:812497040

    1. 回复
      admins-2012年6月13日

      你是不是直接copy执行的?
      之前版本号写错了 2.4.2写成2.4.1了

发表评论

电子邮件地址不会被公开。 必填项已用*标注