arm hisiv100 linux,arm-hisiv100nptl-linux-gcc编译boa和移植

工作需要,移植web服务器到摄像头中,查找资料,借鉴了几位前辈的文章自己弄了一下,还挺顺利的呦~

系统:centos 6.4 64bit

工具:arm-hisiv100nptl-linux-gcc

1、交叉编译

1)从www.boa.org下载Boa源码,版本0.94.13;

2)解压进入源码目录的src/# tar xzf boa-0.94.13.tar.gz# cd boa-0.94.13/src3)生成Makefile文件# ./configure4)修改Makefile文件:CC=gcc改成CC = arm-hisiv100nptl-linux-gcc,再找到CPP = gcc –E,将其改成CPP = arm-hisiv100nptl-linux-gcc –E,保存退出。5)运行make进行编译,在src/目录下,得到可执行程序boa

2、编译中遇到的错误# make

gcc -g -O2 -pipe -Wall -I. -c -o util.o util.cutil.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token

make: *** [util.o] Error 1

解决方法:

vi src/compat.h

#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

改成

#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff

保存退出,然后make clean、make

3、在目标版上运行boa

上传boa-0.94.13/src/下的boa到目标版;

上传boa-0.94.13/下的boa.conf(先按需求设置完)到目标版/etc/boa/下;

上传boa-0.94.13/下的mime.types到目标板/etc/下;

在目标版上创建目录/var/www(配置默认DocumentRoot是这个,可以自己改),里面放供下载的文件;

运行./boa;

(此处报错boa.c:228 - icky Linux kernel bug!: :

解决办法: 修改源码中的src/boa.c

注释掉下面语句:

if(setuid(0) != -1) {

DIE(”icky Linux kernel bug!”);

}

重新make,上传boa)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值