arm-hisiv100nptl-linux-gcc编译boa和移植
工作需要,移植web服務(wù)器到攝像頭中,查找資料,借鑒了幾位前輩的文章自己弄了一下,還挺順利的呦~
系統(tǒng):centos 6.4 64bit
工具:arm-hisiv100nptl-linux-gcc
1、交叉編譯
1)從www.boa.org下載Boa源碼,版本0.94.13;
2)解壓進(jìn)入源碼目錄的src/
# tar xzf boa-0.94.13.tar.gz
# cd boa-0.94.13/src
3)生成Makefile文件
# ./configure
4)修改Makefile文件:CC=gcc改成CC = arm-hisiv100nptl-linux-gcc,再找到CPP = gcc –E,
將其改成CPP = arm-hisiv100nptl-linux-gcc –E,保存退出。
5)運(yùn)行make進(jìn)行編譯,在src/目錄下,得到可執(zhí)行程序boa
2、編譯中遇到的錯(cuò)誤
# make
gcc -g -O2 -pipe -Wall -I. -c -o util.o util.c
util.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、在目標(biāo)版上運(yùn)行boa
上傳boa-0.94.13/src/下的boa到目標(biāo)版;
上傳boa-0.94.13/下的boa.conf(先按需求設(shè)置完)到目標(biāo)版/etc/boa/下;
上傳boa-0.94.13/下的mime.types到目標(biāo)板/etc/下;
在目標(biāo)版上創(chuàng)建目錄/var/www(配置默認(rèn)DocumentRoot是這個(gè),可以自己改),里面放供下載的文件;
運(yùn)行./boa;
(此處報(bào)錯(cuò)boa.c:228 - icky Linux kernel bug!: :
解決辦法: 修改源碼中的src/boa.c
注釋掉下面語句:
if(setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
重新make,上傳boa)
轉(zhuǎn)載于:https://blog.51cto.com/jiangfy/1395445
總結(jié)
以上是生活随笔為你收集整理的arm-hisiv100nptl-linux-gcc编译boa和移植的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL replace into (
- 下一篇: 31Exchange Server 20