移植apache2 ARM版 - 交叉編譯apache2

下載apache2 http://apache.fayea.com/apache-mirror//httpd/httpd-2.4.6.tar.bz2

1. tar jxvf httpd-2.4.6.tar.bz2

2. cd httpd-2.4.6

3. ./configure --host=arm-linux --prefix=/usr/local/arm/4.4.3 --with-apu=/usr/local/arm/4.4.3/ --with-apr-util=/usr/local/arm/4.4.3 --with-pcre=/usr/local/arm/4.4.3/ ap_cv_void_ptr_lt_long=no

注意這裏實際不需要指定--with-apr-util和--with-apu,因爲這樣做比較麻煩,需要先交叉編譯好apr和apr-util。可以下載最新的apr apr-util放到httpd/srclib中,一起交叉編譯即可。

這裏會報如下錯誤

./gen_test_char > test_char.h
/bin/bash: ./gen_test_char: cannot execute binary file

因爲apache工程寫的不好,編譯生成的gen_test_char工具是ARM版本的,無法在當前PC上執行這個文件。

我們要想辦法找到一個PC版本的gen_test_char

4. 重新解壓httpd-2.4.6.tar.bz2到兩外一個目錄,假設爲httpd-pc

5. cd httpd-pc

6. 把最晚版本的apr和apr-util解壓到httpd-pc/srclib下,目錄名不要帶版本號

7. ./configure --prefix=/usr/local/ ap_cv_void_ptr_lt_long=no

8. make編譯pc版的httpd,此時會生成server/gen_test_char,拷貝到arm版的httpd-2.4.6/server下

9 cd httpd-2.4.6

10 make

11 make install


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章