编译busybox-1.3.2的时候遇到的错误解决办法
2009-10-24 22:49
597 查看
编译[b]busybox-1.3.2的时候遇到的错误解决办法[/b]
busybox-1.3.2
linux system:fedora 11
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: variable or field `__user'' declared void
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: parse error before ''*'' token
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:360: error: parse error before ''}'' token
make[2]: *** [getsize.o] Error 1
解决: 在引用 #include 的文档前面加上 #include
(原文没有写清具体是加什么东西,后来参考了一篇blog,解决了。特此感谢!)
在这个过程中关于e2fsprogs-1.39.tar.gz的交叉编译还会出现错误,这个问题挺难解觉,后来搜到一篇文章,我终于解觉了,方法是
修改/usr/local/arm/3.4.1/arm-linux/sys-include/linux
中fd.h
添加#include <linux/compiler.h>
miscutils/readahead.c: In function `readahead_main':
miscutils/readahead.c:26: warning: implicit declaration of function `readahead'
make[1]: *** [miscutils/readahead.o] 错误 1
make: *** [miscutils] 错误 2
原因:如果你在rh9中编译1.3以上的busybox你可能会遇到这样的问题readahead.c或taskset.c编译不过去,这个主要是内核或glibc版本低,所以有的地方不兼容的原因。编译的时候把它排除就可以了,选项在Miscellaneous Utilities中
解决: #make menuconfig
找到Miscellaneous Utilities选项,把它的readahead和taskset去掉
3. LINK busybox_unstripped
modutils/lib.a(insmod.o)(.text.insmod_main+0x444): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x47c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x52c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x580): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x65c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x1124): In function `$a':
: undefined reference to `create_module'
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] 错误 1
解决办法:
把编译器改成3.3.2版本
busybox-1.3.2
linux system:fedora 11
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: variable or field `__user'' declared void
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: parse error before ''*'' token
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:360: error: parse error before ''}'' token
make[2]: *** [getsize.o] Error 1
解决: 在引用 #include 的文档前面加上 #include
(原文没有写清具体是加什么东西,后来参考了一篇blog,解决了。特此感谢!)
在这个过程中关于e2fsprogs-1.39.tar.gz的交叉编译还会出现错误,这个问题挺难解觉,后来搜到一篇文章,我终于解觉了,方法是
修改/usr/local/arm/3.4.1/arm-linux/sys-include/linux
中fd.h
添加#include <linux/compiler.h>
miscutils/readahead.c: In function `readahead_main':
miscutils/readahead.c:26: warning: implicit declaration of function `readahead'
make[1]: *** [miscutils/readahead.o] 错误 1
make: *** [miscutils] 错误 2
原因:如果你在rh9中编译1.3以上的busybox你可能会遇到这样的问题readahead.c或taskset.c编译不过去,这个主要是内核或glibc版本低,所以有的地方不兼容的原因。编译的时候把它排除就可以了,选项在Miscellaneous Utilities中
解决: #make menuconfig
找到Miscellaneous Utilities选项,把它的readahead和taskset去掉
3. LINK busybox_unstripped
modutils/lib.a(insmod.o)(.text.insmod_main+0x444): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x47c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x52c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x580): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x65c): In function `insmod_main':
: undefined reference to `query_module'
modutils/lib.a(insmod.o)(.text.insmod_main+0x1124): In function `$a':
: undefined reference to `create_module'
collect2: ld returned 1 exit status
make: *** [busybox_unstripped] 错误 1
解决办法:
把编译器改成3.3.2版本
相关文章推荐
- 源码包安装 NGINX时候遇到的错误以及解决办法!
- spark 编译遇到的错误及解决办法(六)
- busybox编译根文件系统的一些错误解决办法
- 编译busybox出现cannot find -lcrypt错误的解决办法
- spark 编译遇到的错误及解决办法(五)
- 编译php的时候,报configure: error: mcrypt.h not found. Please reinstall libmcrypt.错误的解决办法
- 编译linux-2.6.32的时候出现的错误以及解决办法
- 使用xcodebuild命令行编译iOS应用遇到的一个错误及解决办法
- spark 编译遇到的错误及解决办法(一)
- 嵌入式开发六:busybox编译根文件系统的一些错误解决办法
- 打开word excel ppt 时遇到 "试图打开文件时候遇到错误"提示的解决办法
- centos编译ruby的时候ossl_pkey_ec.c文件错误的解决办法
- 编译busybox出现cannot find -lcrypt错误的解决办法
- busybox1.19.3编译错误解决办法
- 纯源码包安装 lua 的时候遇到的错误和解决办法~~~
- 装sql2005的时候遇到性能监视器计数器要求 (错误) 及超强解决办法
- iOS开发编译时候报的错误和解决办法收集
- 源码包安装 NGINX时候遇到的错误以及解决办法!
- 纯源码包安装 lua 的时候遇到的错误和解决办法~~~
- busybox1.19.3编译错误解决办法