在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 ...
随机推荐
- Linux环境下安装Redis并完成测试(已验证)
准备工作: 本人测试环境:Win7 xshell远程登录Linux Linux: ubuntu 软件包:redis-3..2.6.tar.gz (Linux下redis安装包) =========== ...
- 170523、快速提升你 MySQL 数据库的段位
MySQL 数据库知识脉络,大致可以分为四大模块: ● MySQL 体系结构: ● MySQL 备份恢复: ● MySQL 高可用集群: ● MySQL 优化. 从四大模块中,抽离7个部分给大家做分析 ...
- 系统性能优化- Session丢失
最近在做项目的过程中,客户经常反馈在操作的时候进场会突然跳转到登录页面. 先描述下系统情况: 操作系统:WindowsServer 2008 .NET版本:.NET 4.0/ASP.NET 4.0/A ...
- Jenkins之pipeline流水线配置
使用gitlab监听事件一旦git push自动部署 使用构建后操作 配置完用户构建前一步会自动构建下一个项目 pipeline插件 新建视图 点击run运行
- Python实现Table To Point代码 分类: Python 2015-07-31 18:45 3人阅读 评论(0) 收藏
</pre><pre name="code" class="python"><span style="font-fami ...
- stark - filter、pop、总结
一.filter 效果图 知识点 1.配置得显示Filter,不配置就不显示了 list_filter = ['title','publish', 'authors'] 2.前端显示 后端返回 字典 ...
- Team Formation---zoj3870(异或)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5518 题意就是有n个数,如果满足a^b > MAX(a, b) ...
- 洛谷P5151 HKE与他的小朋友 快速幂/图论+倍增
正解:矩阵快速幂/tarjan+倍增 解题报告: 传送门! 跟着神仙做神仙题系列III 这题首先一看到就会想到快速幂趴?就会jio得,哦也不是很难哦 然而,看下数据范围,,,1×105,,,显然开不下 ...
- Redis缓冲区设置
对于Redis服务器的输出(也就是命令的返回值)来说,其大小通常是不可控制的.有可能一个简单的命令,能够产生体积庞大的返回数据.另外也有可能因为执行了太多命令,导致产生返回数据的速率超过了往客户端发送 ...
- python 定义类 学习1
此时的d1就是类Dog的实例化对象 实例化,其实就是以Dog类为模版,在内存里开辟一块空间,存上数据,赋值成一个变量名 # 定义类模板 class dog(object): # 定义类的方法功能 # ...