Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2248273
  • 博文数量: 395
  • 博客积分: 10994
  • 博客等级: 上将
  • 技术积分: 5586
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-17 19:49
文章存档

2014年(1)

2013年(10)

2012年(74)

2011年(303)

2010年(7)

分类: LINUX

2011-07-14 07:52:53

编译内核的几个错误转:http://blog.csdn.net/sandflee/article/details/5180668

分类: linux相关 83人阅读 评论(0)

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

阅读(734) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~