这个版本的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. 【数组】—冒泡排序&&选择排序---【巷子】

    /* 什么是冒泡排序:从头到尾比较相邻的两个数的大小,如果符合条件则进行比较 [注]:从小到大进行排序 假设有一个数组 var arr = [9,8,7,6,5,4]; 我们想要进行这个数组进行排序那 ...

  2. poj3345 Bribing FIPA【树形DP】【背包】

    Bribing FIPA Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 5910   Accepted: 1850 Desc ...

  3. 焦作网络赛E-JiuYuanWantstoEat【树链剖分】【线段树】

    You ye Jiu yuan is the daughter of the Great GOD Emancipator. And when she becomes an adult, she wil ...

  4. New动态分配 Delete 释放内存

    在C++中,对于变量和对象都是编译器在编译时分配好的,对于数组初始化时,无法确定多少内存,很容意造成大开小用的情况. new  动态分配 一般格式:1. 指针变量名 =new  类型标识符; 2.指针 ...

  5. Typed Arrays in javascripts

    Typed Arrays(类型数组)这个概念,可能对很多人来说非常陌生,那么它是什么,又有什么用途呢? 之前的问题 Web应用程序变得越来越强大,例如新增了音视频处理.WebSocket等多个功能特性 ...

  6. 设计模式之——visitor模式

    visitor模式,又叫访问者模式,把结构和数据分开,编写一个访问者,去访问数据结构中的元素,然后把对各元素的处理全部交给访问者类.这样,当需要增加新的处理时候,只需要编写新的 访问者类,让数据结构可 ...

  7. flask sqlaichemy中filter和filter_by

    简单总结一下: 查询的三种方式: 要实现组合查询,要么连续调用filter:q = sess.query(IS).filter(IS.node == node).filter(IS.password ...

  8. Can you solve this equation?---hdu2199(二分)

    http://acm.hdu.edu.cn/showproblem.php?pid=2199 给出y的值求x: 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 = Y x是0到100的 ...

  9. mysql float 浮点型

    定点数类型 DEC等同于DECIMAL 浮点类型:FLOAT DOUBLE 作用:存储薪资.身高.体重.体质参数等 m,d 都是设置宽度 =============================== ...

  10. git-【九】基本常用命令

    mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理的git仓库,生成隐 ...