在x86为arm 编译 httpd 2.2.31
这个版本的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的更多相关文章
- QtCreator动态编译jsoncpp完美支持x86和arm平台
如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...
- qt 维护x86和arm两套编译环境
1.中间库: 中间库都放在middlewares目录,include头文件相同,所以不需要特殊处理,只要特殊处理lib安装目录, 示例pro文件如下: TEMPLATE = lib TARGET = ...
- x86汇编反编译到c语言之——(1)表达式求值及赋值语句
一. 反编译一种可能的实现方式 我们的目的是将多种平台的汇编如x86,ARM,6502反编译为c语言,所以实现时先将多种汇编转化为 特定虚拟机汇编语言,然后只需要将虚拟机汇编语言反编译为c语言.其中多 ...
- 编译httpd细节
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Linux系统下x86和ARM的区别有哪些?
问题: 最近在用三星的一款i5处理器的Windows平板,和iPad,以及其他使用ARM处理器的手机相比,发热量大很多,甚至需要借助风扇来散热,耗电量也大了不少. 那么就很奇怪,在主频相差不大,并且实 ...
- [转帖]Linux系统下x86和ARM的区别有哪些?
Linux系统下x86和ARM的区别有哪些? https://www.cnblogs.com/alantu2018/p/9209143.html 其实界限 越来越小了.. 问题: 最近在用三星的一款i ...
- 【PC桌面软件的末日,手机移动端App称王】写在windows11支持安卓,macOS支持ios,龙芯支持x86和arm指令翻译
面对这场突如其来的变革,作为软件开发者,应该如何选择自己今后的发展方向?桌面软件开发领域还有前景吗? 起源 自从苹果发布m1处理器,让自家Mac支持IOS移动端app运行之后,彻底打破了移动端app和 ...
- 听不懂x86,arm?
之前听别人讲x86或者ARM,我心里有一些疑惑,为什么他们不考虑32位还是64位的? 直到和师傅交流了一下: I:32位机是不是不支持部署k3os? T:这个年头哪里还有32位机? T:现在说x86, ...
- busybox filesystem httpd php-5.5.31 sqlite3 webserver
/******************************************************************** * busybox filesystem httpd php ...
随机推荐
- 【数组】—冒泡排序&&选择排序---【巷子】
/* 什么是冒泡排序:从头到尾比较相邻的两个数的大小,如果符合条件则进行比较 [注]:从小到大进行排序 假设有一个数组 var arr = [9,8,7,6,5,4]; 我们想要进行这个数组进行排序那 ...
- poj3345 Bribing FIPA【树形DP】【背包】
Bribing FIPA Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 5910 Accepted: 1850 Desc ...
- 焦作网络赛E-JiuYuanWantstoEat【树链剖分】【线段树】
You ye Jiu yuan is the daughter of the Great GOD Emancipator. And when she becomes an adult, she wil ...
- New动态分配 Delete 释放内存
在C++中,对于变量和对象都是编译器在编译时分配好的,对于数组初始化时,无法确定多少内存,很容意造成大开小用的情况. new 动态分配 一般格式:1. 指针变量名 =new 类型标识符; 2.指针 ...
- Typed Arrays in javascripts
Typed Arrays(类型数组)这个概念,可能对很多人来说非常陌生,那么它是什么,又有什么用途呢? 之前的问题 Web应用程序变得越来越强大,例如新增了音视频处理.WebSocket等多个功能特性 ...
- 设计模式之——visitor模式
visitor模式,又叫访问者模式,把结构和数据分开,编写一个访问者,去访问数据结构中的元素,然后把对各元素的处理全部交给访问者类.这样,当需要增加新的处理时候,只需要编写新的 访问者类,让数据结构可 ...
- flask sqlaichemy中filter和filter_by
简单总结一下: 查询的三种方式: 要实现组合查询,要么连续调用filter:q = sess.query(IS).filter(IS.node == node).filter(IS.password ...
- 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的 ...
- mysql float 浮点型
定点数类型 DEC等同于DECIMAL 浮点类型:FLOAT DOUBLE 作用:存储薪资.身高.体重.体质参数等 m,d 都是设置宽度 =============================== ...
- git-【九】基本常用命令
mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐 ...