一、源码下载 首先登陆 apache 官网下载最新源码 找一个中国的地址 找到 httpd 目录 下载最新版本 二、工作环境 属性 属性值 源码目录 /home/workspace/SourceCode 交叉编译目录 /home/workspace/CorssComp/httpd-2.4.2 本地编译目录 /home/workspace/LocalComp/httpd-2.4.2 交叉编译器版本 arm-linux-gcc 4.5.1 v6 本地编译器版本 gcc 4.7.0 操作系统 ArchLinux 3.0 系统安装包 base;base-devel; 三、本机编译 解压源码 进入目录进行配置 报错,没有找到APR 登陆apr 网站下载http://apr.apache.org/ 选择一个中国服务器 下载tar 压缩包 解压 配置 PC 版本 编译 make 安装 返回apache 继续配置 继续遇到问题 需要下载 apr-util,还是回到刚才的网站 http://apr.apache.org/ 在下面就可以下载 顺便把 iconv 也装了,免得待会报错 解压(这张截图错了,知道是怎么回事就好了) 配置 提示找不到 apr,手动指定路径 编译 安装 解压 编译 同样手动指定路径 编译 安装 返回apache 继续配置,顺便给apr 手动指定路径 配置成功,开始编译。喝杯咖啡慢慢等吧 注意编译结束不需要安装哦 准备工作都做好后,现在开始交叉编译 四、交叉编译 1、交叉编译apr 解压 配置 出现错误 需要手动给它带一个参数,跳过检查文件系统 还是有错误,再带一个参数 出现错误 在configure 文件中查找cannot run test program while cross compiling 将蓝色标注的代码删除,总共有三处 继续配置,并顺便给它指定一个路径 好了,可以开始编译 一上来就遇到一个错误,好受打击 它提示 iovec 被重复定义了,这好办 找到目录下/opt/FriendlyARM/toolschain/4.5.1/arm-none-linux-gnueabi/sys-root/usr/include/bits/uio.h 文件,将蓝色代码删除。注意保存副本,在交叉编译完mysql 将它还原。 继续编译 安装 2、交叉编译apr-util 解压 配置 编译 安装 3、编译apr-iconv 解压 配置 编译 安装 4、安装pcre 下载 pcre,官网 http://www.pcre.org/ 解压 配置 编译 安装 4、编译apache(重头戏开始了) 解压 配置 这里我直接给出配置命令,不解释这么多了,自己慢慢琢磨吧。这可是我试了无数回,失败了无数次才得以成功的配置命令。 ./configure --host=arm-linux --prefix=/sdcard/apache --enable-so --with-mpm=prefork ac_cv_file__dev_zero=yes ac...