openwrt編譯的兩個錯誤

因爲某些原因最近需要編譯一下backfire的openwrt,我的系統是ubuntu是14.04的,應該是因爲backfire太古老了,ubuntu14.04下編譯的時候出現了一些問題,上網查找了這兩個問題的解決方法,留存一下。

編譯出現的第一個錯誤如下所示:

bfd.texinfo:326:unknowncommand `colophon'
bfd.texinfo:337: unknown command `cygnus'
./elf.texi:11: raising the section level of @subsubsection which is too low
make[7]: *** [bfd.info]Error 1
make[7]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd/doc'
Making info in po
make[7]: Entering directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd/po'
make[7]: Nothing to be done for `info'.
make[7]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd/po'
make[7]: Entering directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd'
make[7]: Nothing to be done for `info-am'.
make[7]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd'
make[6]: *** [info-recursive] Error 1
make[6]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/bfd'
make[5]: *** [all-bfd] Error 2
make[5]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1'
make[4]: *** [all] Error 2
make[4]: Leaving directory `/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1'
make[3]: *** [/home/chuxuan/openwrt/backfire/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/binutils-2.19.1/.built]Error 2
make[3]: Leaving directory `/home/chuxuan/openwrt/backfire/toolchain/binutils'
make[2]: *** [toolchain/binutils/compile] Error 2
make[2]: Leaving directory `/home/chuxuan/openwrt/backfire'
make[1]: *** [/home/chuxuan/openwrt/backfire/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/stamp/.toolchain_install]Error 2
make[1]: Leaving directory `/home/chuxuan/openwrt/backfire'
make: *** [world] 錯誤 2

查詢之後發現是binutils版本的問題,在make menuconfig的時候修改一下binutils的版本就可以了。由於對openwrt實在是不怎麼熟悉,尋找這個修改的選項還花了我一點時間,o(╯□╰)o。。修改路徑如下:

make menuconfig---->Advanced configuration  options(for developers)---->toolchains---->binutils2.20.1

(PS:找不到這些選項的時候,我們可以去看看相關的源碼,裏面應該有一些說明提示來幫助我們找到這些東西。)

修改完這個之後,再次進行編譯,但是接着又出現了另外一個問題:

@itemx mustfollow @item

更詳細的錯誤提示如下:

/openwrt/carambola2/build_dir/toolchain-mips_r2_gcc-4.7-linaro_uClibc-0.9.33.2/gcc-linaro-4.7-2012.12/gcc/doc/cppopts.texi:811:@itemx must follow @item

make[5]: *** [doc/cpp.info] Error 1

make[5]: Leaving directory `/openwrt/carambola2/build_dir/toolchain-mips_r2_gcc-4.7-linaro_uClibc-0.9.33.2/gcc-linaro-4.7-2012.12-minimal/gcc'

make[4]: *** [all-gcc] Error 2

make[4]:Leaving directory`/openwrt/carambola2/build_dir/toolchain-mips_r2_gcc-4.7-linaro_uClibc-0.9.33.2/gcc-linaro-4.7-2012.12-minimal'

看這提示應該是和texinfo有點關係, 臨時解決辦法是將shell texinfo降級到4.13(在ubuntu13裏它就被升級到5了,怪不得升級系統到14.04之後就出現了這個問題),降級texinfo的具體辦法如下:

通過下載編譯源碼文件可以安裝比較老一點的版本:

wget http://ftp.gnu.org/gnu/texinfo/texinfo-4.13a.tar.gz

tar -zxvf texinfo-4.13a.tar.gz

cd texinfo-4.13

./configure

make

sudo make install

再次進行編譯就可以編譯通過了。

還有一個就是編譯的時候偶爾會出現md5sum mistake的錯誤,我這裏竟然是由於網絡斷了的緣故,所以編譯的時候一定要切記保持網絡的連接。

參考的資料:

http://see.sl088.com/wiki/%E7%BC%96%E8%AF%91Openwrt%E5%9B%BA%E4%BB%B6/%E5%87%BA%E9%94%99/@itemx_must_follow_@item

http://pb.itsong.com/2014/11/openwrtbackfire-%E7%BC%96%E8%AF%91%E8%BF%87%E7%A8%8B%E4%B8%AD%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3%E8%AE%B0%E5%BD%95.html#comment-23697

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