Skip to content
 

Lỗi khi biên dịch Apache 2.4 trên CentOS 6

Apache HTTP Server
– Khi bạn biên dịch Apache HTTP Server phiên bản 2.4.2 có thể bạn sẽ gặp lỗi tương tự dưới đây khi biên dịch đến phần “rotatelogs”:

rotatelogs.c: In function ‘post_rotate’:
rotatelogs.c:298: warning: implicit declaration of function ‘apr_file_link’
/usr/lib64/apr-1/build/libtool --silent --mode=link gcc -std=gnu99 -pthread        -o rotatelogs  rotatelogs.lo       /usr/lib64/libaprutil-1.la -ldb-4.7 -lexpat -ldb-4.7 /usr/lib64/libapr-1.la -lpthread
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/httpd-2.4.2/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/httpd-2.4.2/support'
make: *** [all-recursive] Error 1

– Lí do xảy ra lỗi này có thể do phiên bản APR(1.3.9-3) và APR-util (1.3.9-3) đi kèm CentOS 6 quá cũ trong khi bản APR mới nhất là 1.4.6 và APR-util là 1.4.1. Các bạn có thể xem thông tin phiên bản mới nhất của APR(Apache Portable Runtime) tại địa chỉ http://apr.apache.org/.

– Cách giải quyết lỗi này :
+ Tải APR và APR-util mới nhất từ trang chủ về và chép vào thư mục srclib của mã nguồn apache 2.4.2 như sau (ở đây thư mục mã nguồn apache nằm tại /root/httpd-2.4.2 ):

[root@web1 ~]# wget http://apache.osuosl.org/apr/apr-1.4.6.tar.gz
[root@web1 ~]# wget http://apache.osuosl.org/apr/apr-util-1.4.1.tar.gz
[root@web1 ~]# tar zxf apr-1.4.6.tar.gz
[root@web1 ~]# tar zxf apr-util-1.4.1.tar.gz
[root@web1 ~]# mv apr-1.4.6 httpd-2.4.2/srclib/apr
[root@web1 ~]# mv apr-util-1.4.1 httpd-2.4.2/srclib/apr-util

+ Thêm vào lệnh “./configure” tham số:

--with-included-apr

để sử dụng APR bạn vừa cho vào thư mục srclib tương tự ví dụ sau :

./configure --prefix=/opt/apache24 \
--enable-so \
--enable-rewrite \
--enable-remoteip \
--enable-unique-id \
--enable-suexec \
--with-mpm=event \
--with-included-apr

+ Sau đó dùng lệnh “make” để biên dịch và “make install” để cài đặt như bình thường.

Chúc bạn thành công!

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Vietnam License.