当前位置: 技术问答>linux和unix
Linux 2.6.21编译发生错误
来源: 互联网 发布时间:2016-04-28
本文导语: CHK include/linux/version.h CHK include/linux/utsrelease.h HOSTCC scripts/mod/sumversion.o scripts/mod/sumversion.c: 在函数‘get_src_version’中: scripts/mod/sumversion.c:384: 错误:‘PATH_MAX’未声明(在此函数内第一次使用) scr...
CHK include/linux/version.h
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
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@localhost linux-2.6.21]#
上面是出错代码。大虾指点!
CHK include/linux/utsrelease.h
HOSTCC scripts/mod/sumversion.o
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@localhost linux-2.6.21]#
上面是出错代码。大虾指点!
|
1) cp 某缺省config .config
2) make menuconfig (或者make oldconfig)
3) make
再不行先make distclean再从头开始。
再不行得到一份全新的source解开再从头开始。
再不行就要看代码了。。好像 include/linux/limits.h 有定义 PATH_MAX
还有就是建议不要用中文环境。可能会有异常错误。
2) make menuconfig (或者make oldconfig)
3) make
再不行先make distclean再从头开始。
再不行得到一份全新的source解开再从头开始。
再不行就要看代码了。。好像 include/linux/limits.h 有定义 PATH_MAX
还有就是建议不要用中文环境。可能会有异常错误。
|
linux 技术交流群 8709932 欢迎各位高手的加入
|
2.6已经不是像2.4那样做类似 “cp 某缺省config .config ” 的动作了。
例如,对x86_32,make i386_defconfig
本质也是把 arch/x86/configs/i386_defconfig 拷到 下。
楼主应该提供更多的信息。缺省的标准kernel应该不会有错误的,
所以你得告诉大家你做了什么?怎么做的?
例如,对x86_32,make i386_defconfig
本质也是把 arch/x86/configs/i386_defconfig 拷到 下。
楼主应该提供更多的信息。缺省的标准kernel应该不会有错误的,
所以你得告诉大家你做了什么?怎么做的?
|
如楼上说,详细信息说。。。。
|
你在文本模式下的编译信息是中文的,还是英文的?
可能像某些网友说的,可能在中文环境下,有些莫名其妙的错误。
不知道你的情况是不是属于这种情况。
可能像某些网友说的,可能在中文环境下,有些莫名其妙的错误。
不知道你的情况是不是属于这种情况。
|
scripts/mod/sumversion.c文件是你自己加入的,还是修改过内核了呀?
从错误提示以及你的回复中可以看的出,你的编译方法是正确的,只是程序有问题,程序的主要错误是‘PATH_MAX’没有声明过,如果是你自己修改过内核,请认真检查一下,只需要补上这个声明,这个错误就能够过去了。至于补在哪儿,该怎么补,这个需要你根据自己的程序代码来定了。
另外可以参照你系统中的内核源代码来做一个参照!
从错误提示以及你的回复中可以看的出,你的编译方法是正确的,只是程序有问题,程序的主要错误是‘PATH_MAX’没有声明过,如果是你自己修改过内核,请认真检查一下,只需要补上这个声明,这个错误就能够过去了。至于补在哪儿,该怎么补,这个需要你根据自己的程序代码来定了。
另外可以参照你系统中的内核源代码来做一个参照!
|
学习!楼主加油,内核 编译确实不容易过,其实你把内核源码包解开,直接make menuconfig,后make是可以编过去的,默认的为i386架构,然后再在基础上裁减,