亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Apache > 正文

MIPS平臺移植apache 2.2.7

2024-08-27 18:29:22
字體:
來源:轉載
供稿:網友
MipS平臺移植apache 2.2.7

參考文章:

http://wenku.baidu.com/view/94e08a20a5e9856a561260e2.html

http://httpd.apache.org/docs/2.4/install.html

工作中需要在MIPS平臺的板子上移植apache,折騰一個星期,初步搞定,移植過程記錄如下:

開發機軟硬件平臺:

開發板軟硬件平臺:

移植的宏觀思路是:

1.開發機端

1)配置:./configure

2)交叉編譯:make

3)安裝:makeinstall

2.開發板端

1)下載apache安裝目錄到板子的/usr/local下

2)配置httpd.conf

3)驗證

詳細移植過程如下:

1.開發機端

1.1配置:./configure

首先指定安裝目錄(PRefix),編譯器(CC),平臺名(host),庫的路徑(--with-included-apr)

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-apr

提示錯誤:checkingfor/dev/zero...configure:error:cannotcheckforfileexistencewhencrosscompiling

添加配置選項:ac_cv_file__dev_zero=yes

繼續

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-aprac_cv_file__dev_zero=yes

提示錯誤:checkingwhethersetpgrptakesnoargument...configure:error:cannotchecksetpgrpwhencrosscompiling

添加配置選項:ac_cv_func_setpgrp_void=yes

繼續

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-aprac_cv_file__dev_zero=yesac_cv_func_setpgrp_void=yes

錯誤提示:configure:error:cannotruntestprogramwhilecrosscompiling

進入./srclib/apr目錄,修改configure文件,搜索cannotruntestprogramwhilecrosscompiling

一共三處,將下圖中陰影部分注釋掉

繼續

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-aprac_cv_file__dev_zero=yesac_cv_func_setpgrp_void=yes

錯誤提示:configure:error:Sizeof"void*"islessthansizeof"long"

添加配置參數:ap_cv_void_ptr_lt_long=no

繼續

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-aprac_cv_file__dev_zero=yesac_cv_func_setpgrp_void=yesap_cv_void_ptr_lt_long=no

配置通過

1.2交叉編譯:make

執行make命令

錯誤提示:/bin/sh:tools/gen_test_char:cannotexecutebinaryfile

進入./srclib/apr/tools/

MIPS平臺的可執行文件當然不能在X86平臺運行,手動生成x86平臺的可執行文件,執行

gcc-Wall-O2-DCROSS_COMPILEgen_test_char.c-s-ogen_test_char

./gen_test_char>./include/private/apr_escape_test_char.h

修改./srclib/apr/下的Makefile文件,注釋掉圖示兩行

返回繼續make

錯誤提示:./include/apr_want.h:95:error:redefinitionof'structiovec'

修改./srclib/apr/include/apr_want.h,注釋掉structiovec的定義

返回繼續make

錯誤提示:./dftables:./dftables:cannotexecutebinaryfile

進入./srclib/pcre/

執行

gcc-Wall-O2-DCROSS_COMPILEdftables.c-s-odftables

返回繼續make

錯誤提示:/bin/sh:./gen_test_char:cannotexecutebinaryfile

進入./server

執行

gcc-Wall-O2-DCROSS_COMPILEgen_test_char.c-s-ogen_test_char

返回繼續make

錯誤提示:undefinedreferenceto`apr_procattr_limit_set'

好吧,這個錯誤網上查了半天,發現是./configure的時候少了一個配置項,從頭再來吧

makeclean

終極配置命令:

./configure--prefix=/usr/local/apacheCC=mips64-octeon-linux-gnu-gcc--host=mips-linux--with-included-aprac_cv_file__dev_zero=yesac_cv_func_setpgrp_void=yesap_cv_void_ptr_lt_long=noac_cv_struct_rlimit=yes

make

編譯通過

1.3安裝:makeinstall

理論上接下來的動作應該是:makeinstall

但是在makeinstall之前,我要臨時改一下安裝路徑(下面的路徑不固定,可根據自己的需要修改):

exportDESTDIR=$NPU_APP_DIR/portable/cavium/execute/local/apache_tmp

然后再

makeinstall

下面講一下原因:

apache依賴三個庫,apr,apr-util,pcre,在httpd-2.2.27版本中,這三個庫的源碼均與apache源碼綁定在一起,在srclib目錄下,編譯apache的時候,這三個庫也一起被編譯了

上面./configure時,我之所以要把安裝目錄指定為/usr/local/apache,是因為我打算把apache的安裝目錄放在板子的/usr/local/apache下,運行/usr/local/apache/bin/httpd時,程序會自動在/usr/local/apache下搜尋依賴的庫文件。

要生成安裝目錄就必須makeinstall,makeinstall是將源碼目錄下的相應文件拷貝到安裝目錄下,./configure時我指定的安裝路徑為/usr/local,但是我在開發機上并沒有root權限,無法寫/usr/local目錄,只能寫我的home目錄(/home/tanghuimin),怎樣臨時修改makeinstall的安裝路徑呢?

查看Makefile文件,搜索關鍵字“install”,發現安裝文件都是放在基于$DESTDIR的路徑下的,那修改$DESTDIR就能修改安裝路徑了,終端下執行

exportDESTDIR=$NPU_APP_DIR/portable/cavium/execute/local/apache_tmp

makeinstall

$NPU_APP_DIR/portable/cavium/execute/local/apache_tmp/usr/local/apache下便是自動生成的apache安裝目錄了

2開發板端

2.1下載apache安裝目錄到板子的/usr/local下

將$NPU_APP_DIR/portable/cavium/execute/local/apache_tmp/usr/local/下的apache目錄打個包,ftp或其他方式,下載到板子的/usr/local/下,解壓,進入/usr/local/apache目錄

2.2配置httpd.conf

接下來修改相關配置文件:

apache無法以root用戶運行,修改/etc/passwd和/etc/group文件,新增nobody用戶名和nobody工作組名。

在/etc/passwd中添加一行:

nobody::65534:65533:nobody:/:/bin/sh

在/etc/group中添加:

nobody::65533:

nogroup::65534:nobody

修改/usr/local/apache/conf/httpd.conf文件

1)修改用戶名和用戶組名為nobody

2)修改ServerName為板子的ip地址,我的為192.168.15.29

3)修改監聽端口,我的為8080

2.3驗證

在瀏覽器窗口輸入網址:http://192.168.15.29:8080/

成功!

后記:曾經試過http 2.4.9的移植,但因為在2.4.9版本中,三個庫(apr,apr-util, pcre)的源碼沒有包含在http源碼中,需要外部安裝,而我又沒有開發機的root權限,導致移植過程中有些動作沒有辦法完成,故轉向低版本的http 2.2.7,http 2.2.7源碼中包含了三個庫文件的源碼,無需外部安裝庫文件。

附件:

MIPS平臺移植apache_2_2_7.zip

草稿_MIPS平臺移植apache_2_4_9.zip


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品国产高清久久久久久| 国产日韩欧美视频| 91免费精品视频| 日韩免费高清在线观看| 欧美日本亚洲视频| 国产精品丝袜久久久久久不卡| 欧美激情视频三区| 色综合色综合网色综合| 欧美成人一二三| 伊人久久久久久久久久久久久| 色综合天天综合网国产成人网| 九九精品视频在线观看| 亚洲三级黄色在线观看| 91禁外国网站| 欧美做爰性生交视频| 亚洲欧美一区二区三区情侣bbw| 97视频在线免费观看| 亚洲最新在线视频| 成人国产精品日本在线| 最近2019年手机中文字幕| 国产日韩精品综合网站| 搡老女人一区二区三区视频tv| 亚洲新中文字幕| 色妞久久福利网| 亚洲欧美中文日韩在线| 国产精品jizz在线观看麻豆| 国产亚洲精品va在线观看| 国产一区二区丝袜| 欧美中文在线字幕| 亚洲专区在线视频| 国产精品pans私拍| 国产欧美日韩精品丝袜高跟鞋| 欧美激情视频免费观看| 久久艳片www.17c.com| 欧美天天综合色影久久精品| 日韩电影在线观看永久视频免费网站| 国产精品天天狠天天看| 日韩一区二区三区xxxx| 中文字幕日韩欧美在线| 精品调教chinesegay| 亚洲男人av电影| 国产成人中文字幕| 国内精品美女av在线播放| 色爱av美腿丝袜综合粉嫩av| 欧美国产日韩在线| 国产精品a久久久久久| 成人国产精品日本在线| 欧美日韩另类字幕中文| 日韩一区二区在线视频| 国产精品视频区1| 欧美大成色www永久网站婷| 欧美在线国产精品| 成人福利网站在线观看| 777国产偷窥盗摄精品视频| 日韩国产中文字幕| 97色在线视频观看| 国产精品黄色影片导航在线观看| 中文精品99久久国产香蕉| 91精品国产乱码久久久久久蜜臀| 欧美精品中文字幕一区| 精品国产31久久久久久| 97不卡在线视频| 亚洲男女自偷自拍图片另类| 日本成熟性欧美| 国产精品久久综合av爱欲tv| 欧美午夜精品久久久久久久| 69**夜色精品国产69乱| 国产精自产拍久久久久久| 欧美精品免费在线| 亚洲图片制服诱惑| 久久综合久久88| 久久男人av资源网站| 久久久久www| yw.139尤物在线精品视频| 精品福利免费观看| 亚洲爱爱爱爱爱| 国产精品视频久久久久| 国产成人免费av| 精品国产乱码久久久久酒店| 国产精品免费一区二区三区都可以| 久久偷看各类女兵18女厕嘘嘘| 欧美一级视频免费在线观看| 日韩av在线不卡| 久久韩国免费视频| 中文字幕日韩免费视频| 欧美专区在线观看| 韩日精品中文字幕| 久久久久久久影院| 午夜精品蜜臀一区二区三区免费| 91chinesevideo永久地址| 国产精品h片在线播放| 久久综合伊人77777蜜臀| 高清欧美电影在线| 色婷婷久久一区二区| 精品久久久久久国产91| 欧美在线视频一二三| 神马国产精品影院av| 日本一区二区三区在线播放| 欧美大全免费观看电视剧大泉洋| 亚洲欧美国产精品久久久久久久| 欧美裸体视频网站| 亚洲精品视频播放| 亚洲黄一区二区| 懂色aⅴ精品一区二区三区蜜月| 国产亚洲精品久久久优势| 欧美视频免费在线观看| 亚洲成人网在线| 26uuu另类亚洲欧美日本老年| 91精品免费久久久久久久久| 亚洲欧美三级在线| 欧美老女人bb| 欧美成人三级视频网站| 亚洲福利在线视频| 91免费欧美精品| 日韩在线中文字幕| 不卡av电影在线观看| 欧美一区二区三区……| 中文字幕亚洲激情| www.欧美精品一二三区| 亚洲国产精品久久| 欧美日韩国产一区二区| 中文字幕在线亚洲| 91精品久久久久久综合乱菊| 国产v综合v亚洲欧美久久| 欧美日韩中文字幕综合视频| 久久久久久久久久久免费精品| 日本欧美一级片| 91九色国产社区在线观看| 欧美成年人网站| 一区二区三区美女xx视频| 日韩精品视频中文在线观看| 国产午夜精品美女视频明星a级| 国产欧美一区二区三区视频| 亚洲人成电影在线观看天堂色| 成年无码av片在线| 91中文精品字幕在线视频| 91精品视频在线免费观看| 91成人天堂久久成人| 久久久噜噜噜久噜久久| 成人黄色网免费| 日韩精品免费综合视频在线播放| 日韩在线播放av| 国产午夜精品免费一区二区三区| 永久免费毛片在线播放不卡| 久久久黄色av| www.日韩.com| 91久久在线视频| 91高清免费视频| 日韩av大片免费看| 精品久久久国产精品999| 国产精品一区电影| 成人黄色在线免费| 韩剧1988在线观看免费完整版| 亚洲国产精品系列| 国产色视频一区| 欧美性极品xxxx做受| 亚洲天堂成人在线| 91久久精品国产91久久| 欧美激情精品久久久久久蜜臀| 清纯唯美亚洲激情| 欧美激情一区二区三区久久久| 中文字幕在线国产精品| 色偷偷av一区二区三区| 亚洲成人久久电影|