这个版本的httpd 已经自带 apr apr-util pcre , 不用额外下载源代码

1) 编写环境变量脚本,并执行

cross-env.sh :

export ARMROOTFS=/h1root
export CPP="/usr/bin/arm-linux-gnueabi-cpp-4.4"
export CC="/usr/bin/arm-linux-gnueabi-gcc-4.4"
export CXX="/usr/bin/arm-linux-gnueabi-g++-4.4"
export LD="/usr/bin/arm-linux-gnueabi-ld"
export AR="/usr/bin/arm-linux-gnueabi-ar"
export AS="/usr/bin/arm-linux-gnueabi-as"
export RANLIB="/usr/bin/arm-linux-gnueabi-ranlib"

2) 修改configure

进入./srclib/apr目录,修改configure文件,搜索cannot run test program while cross compiling

3) 执行configure(这些参数都是别人的汗水换来的,请珍惜!)

./configure --prefix=$ARMROOTFS/usr/apache --host=arm-linux  --with-included-apr ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes ap_cv_void_ptr_lt_long=no ac_cv_struct_rlimit=yes

4)由于交叉编译出来的工具不能在host机运行, 所以make 失败之后,需要编译几个本地工具

cd ./srclib/apr/tools/
gcc -Wall -O2 -DCROSS_COMPILE gen_test_char.c -s -o gen_test_char
./gen_test_char > ../include/private/apr_escape_test_char.h
./srclib/pcre/
gcc -Wall -O2 -DCROSS_COMPILE dftables.c -s -o dftables
cd ./server
gcc -Wall -O2 -DCROSS_COMPILE gen_test_char.c -s -o gen_test_char

5) 还需要改几个文件

修改./srclib/apr/下的Makefile文件,注释掉图示两行

修改./srclib/apr/include/apr_want.h,注释掉struct iovec的定义

非常好的参考资料:

http://www.cnblogs.com/tanghuimin0713/p/3749817.html

http://www.cnblogs.com/zhangsf/p/3272960.html

http://www.programering.com/a/MDNwYjNwATk.html

在x86为arm 编译 httpd 2.2.31的更多相关文章

  1. QtCreator动态编译jsoncpp完美支持x86和arm平台

    如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...

  2. qt 维护x86和arm两套编译环境

    1.中间库: 中间库都放在middlewares目录,include头文件相同,所以不需要特殊处理,只要特殊处理lib安装目录, 示例pro文件如下: TEMPLATE = lib TARGET = ...

  3. x86汇编反编译到c语言之——(1)表达式求值及赋值语句

    一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...

  4. 编译httpd细节

    html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...

  5. Linux系统下x86和ARM的区别有哪些?

    问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实 ...

  6. [转帖]Linux系统下x86和ARM的区别有哪些?

    Linux系统下x86和ARM的区别有哪些? https://www.cnblogs.com/alantu2018/p/9209143.html 其实界限 越来越小了.. 问题: 最近在用三星的一款i ...

  7. 【PC桌面软件的末日,手机移动端App称王】写在windows11支持安卓,macOS支持ios,龙芯支持x86和arm指令翻译

    面对这场突如其来的变革,作为软件开发者,应该如何选择自己今后的发展方向?桌面软件开发领域还有前景吗? 起源 自从苹果发布m1处理器,让自家Mac支持IOS移动端app运行之后,彻底打破了移动端app和 ...

  8. 听不懂x86,arm?

    之前听别人讲x86或者ARM,我心里有一些疑惑,为什么他们不考虑32位还是64位的? 直到和师傅交流了一下: I:32位机是不是不支持部署k3os? T:这个年头哪里还有32位机? T:现在说x86, ...

  9. busybox filesystem httpd php-5.5.31 sqlite3 webserver

    /******************************************************************** * busybox filesystem httpd php ...

随机推荐

  1. centos6.8 环境一键安装包 nginx配置thinkphp5

    ---恢复内容开始--- lnmp1.4 一键安装包 nginx配置thinkphp5     环境:Nginx1.12.1  PHP5.6  Coentos6.8 修改网站配置文件      ser ...

  2. CodeForces 651 C Watchmen

    C. Watchmen time limit per test 3 seconds memory limit per test 256 megabytes input standard input o ...

  3. talib 中文文档(五):文档导航

    Documentation 安装和问题 快速使用 高级应用 方法分类 Overlap Studies 重叠的研究 Momentum Indicators 动量指标 Volume Indicators ...

  4. Python开发【笔记】:git&github 快速入门

    github入门 简介: 很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了. Linus虽然创建了Linux,但Linux的壮大 ...

  5. CMDB三大绝招,助我站稳运维之巅

    上一篇(内功篇)介绍了建设CMDB的内功心法,接下来和各位交流下建设CMDB的招式.内功是根基.是基础,决定了武学修为境界的高低,招式也许就是明心见性之后的修行.修为指一个人的修养.素质.道德.涵养. ...

  6. 两个提高工作效率的神器-Restlet Client和fe助手

    首先是要FQ,百度***或者直接下载蓝灯. 然后安装第一个WEB前端助手:

  7. 前端 html head meta

    META(Metadata information) 提供有页面的元信息 例如:页面编码.刷新.跳转.针对搜索引擎和更新频道的描述和关键词 1.另外一种编码写法 <meta http-equiv ...

  8. git-【一】概述安装

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  9. WebMagic简介和使用

    概览 WebMagic是一款简单灵活的爬虫框架.基于它你可以很容易的编写一个爬虫. WebMagic项目代码分为核心和扩展两部分. 核心部分(webmagic-core)是一个精简的.模块化的爬虫实现 ...

  10. Flask系列之源码分析(一)

    目录: 涉及知识点 Flask框架原理 简单示例 路由系统原理源码分析 请求流程简单源码分析 响应流程简单源码分析 session简单源码分析 涉及知识点 1.装饰器 闭包思想 def wapper( ...