全部博文(395)
分类: LINUX
2011-07-14 07:52:53
gcc版本 4.3
linux-kernel 2.6.21
comand:
sudo make-kpkg --initrd kernel_image kernel_headers
error:
1,
scripts/mod/sumversion.c: 在函数‘get_src_version'中:
scripts/mod/sumversion.c:384: 错误:‘PATH_MAX'未声明(在此函数内第一次使用)
scripts/mod/sumversion.c:384: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
scripts/mod/sumversion.c:384: 错误:所在的函数内也只报告一次。)
scripts/mod/sumversion.c:384: 警告:未使用的变量‘filelist'
make[2]: *** [scripts/mod/sumversion.o] 错误 1
make[1]: *** [scripts/mod] 错误 2
make: *** [scripts] 错误 2
解决办法:
[root@eec linux-2.6.18]# gedit /ly/linux-2.6.18/scripts/mod/sumversion.c
添加
#include
2,
in function 'timespec_add_ns'
.......undefined reference to '--umoddi3'
大概的意思是gcc-4.3太新,新的内核支持了gcc-4.3 肯定没问题,解决办法有两个,那就是用 低版本的gcc,第二种就是修改Makefile
解决办法:更改 Makefile
#查找
CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs /
-fno-strict-aliasing -fno-common
改为:
CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs /
-fno-strict-aliasing -fno-common /
-fno-tree-scev-cprop