有关内核编译出错求解
今天想移植linux2.6.33.7内核到arm板上,配置好内核后编译出现如下错误:
kernel/built-in.o(.text+0x3e89c): In function `rb_head_page_set':
include/asm-generic/cmpxchg-local.h:42: undefined reference to `wrong_size_cmpxchg'
kernel/built-in.o(.text+0x3f92c): In function `__rb_reserve_next':
include/asm-generic/cmpxchg-local.h:42: undefined reference to `wrong_size_cmpxchg'
kernel/built-in.o(.text+0x40b90): In function `rb_get_reader_page':
include/asm-generic/cmpxchg-local.h:42: undefined reference to `wrong_size_cmpxchg'
make: *** [.tmp_vmlinux1] 错误 1
查了半天没有找到想要的答案,不知错在哪里,忘高手帮忙解答,不胜感激~
[解决办法]
估计没有包含头文件,或头文件路径错误。
用如下命令查看在哪个头文件?找到后把路径设正确或包含,如果还没有解决,可以试着把此变量屏蔽。
find -name '*.h'|xargs grep wrong_size_cmpxchg
以上是本人意见。仅供参考!
[解决办法]
你用命令查一下这变量在哪个头文件中
find -name '*.h'|xargs grep wrong_size_cmpxchg
[解决办法]
换个比较新版本的交叉编译器试试
[解决办法]
kernel/built-in.o(.text+0x15f54): In function `$a':
: undefined reference to `wrong_size_cmpxchg'
net/built-in.o(.text+0x17f90): In function `$a':
: undefined reference to `wrong_size_cmpxchg'
net/built-in.o(.text+0x18104): In function `$a':
: undefined reference to `wrong_size_cmpxchg'
net/built-in.o(.text+0x18214): In function `$a':
: undefined reference to `wrong_size_cmpxchg'
net/built-in.o(.text+0x2e3f4): In function `$a':
: undefined reference to `wrong_size_cmpxchg'
net/built-in.o(.text+0x31d44): more undefined references to `wrong_size_cmpxchg' follow
make: *** [.tmp_vmlinux1] Error 1
我也出现过这样的问题 可是我只写了问题 下面忘记写解决方法了 擦--!我应该是换了个新版本的交叉编译器就ok的吧 试试吧~~