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

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