– 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.