以下4个工程编译时都要增加
CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE" 选项
一、编译apr-1.5.2
#先编译本地可以运行的gen_test_char
./configure
make
#暂存
cp tools/gen_test_char ../
#配置编译选项,用绝对路径
./configure --prefix=/home/tools/apache-source/install/apr --host=arm-linux CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
#把刚才的gen_test_char拿回来
cp ../gen_test_char tools/
#编译
make
#安装
make install
二、编译pcre-8.42
#配置编译选项
./configure --prefix=/home/tools/apache-source/install/pcre --host=arm-linux CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
#编译
make
#安装
make install
三、编译apr-util-1.5.4
apr-util库依赖apr
#配置编译选项
./configure --prefix=/home/tools/apache-source/install/apr-util --with-apr=/home/tools/apache-source/install/apr --host=arm-linux CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
#编译
make
#安装
make install
四、编译httpd-2.4.43
httpd依赖上面三个库
#先在本地编译gen_test_char
./configure
make
cp server/gen_test_char ../
#配置交叉编译
./configure --prefix=/home/tools/apache-source/install/httpd --with-pcre=/home/tools/apache-source/install/pcre --with-apr=/home/tools/apache-source/install/apr --with-apr-util=/home/tools/apache-source/install/apr-util --host=arm-linux CC=arm-xilinx-linux-gnueabi-gcc CXX=arm-xilinx-linux-gnueabi-g++ ap_cv_void_ptr_lt_long=no --enable-so --enable-cgi --with-mpm=prefork LDFLAGS=-lpthread CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
#修改./server/Makefile
#gen_test_char_OBJECTS = gen_test_char.lo
test_char.h: gen_test_char
#./gen_test_char > test_char.h
/home/tools/apache-source/httpd-2.4.43/server/gen_test_char > test_char.h
#把gen_test_char拿回来
cp ../gen_test_char ./server
#编译
make DESTDIR=/home/tools/apache-source/install/httpd
#安装
make install