九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 5988|回复: 2

编译光盘的内核不过

[复制链接]
发表于 2017-11-29 23:34:48 | 显示全部楼层 |阅读模式
arch/arm/Kconfig:1386:warning: 'HZ': number is invalid
arch/arm/Kconfig:1387:warning: 'HZ': number is invalid
arch/arm/Kconfig:1388:warning: 'HZ': number is invalid
#
# configuration written to .config
#
scripts/kconfig/conf --silentoldconfig Kconfig
arch/arm/Kconfig:1386:warning: 'HZ': number is invalid
arch/arm/Kconfig:1387:warning: 'HZ': number is invalid
arch/arm/Kconfig:1388:warning: 'HZ': number is invalid
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
  CALL    scripts/checksyscalls.sh
sed: can't read scripts/../arch/x86/include/asm/unistd_32.h: No such file or directory
  CHK     include/generated/compile.h
  TIMEC   kernel/timeconst.h
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/malu/x4412/kernel/kernel/Makefile:140: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:948: recipe for target 'kernel' failed
make: *** [kernel] Error 2
make: *** Waiting for unfinished jobs....


回复

使用道具 举报

发表于 2017-12-4 09:34:21 | 显示全部楼层
在内核源码目录下找到timeconst.pl文件,一般在目录kernel/timeconst.pl下,打开这个文件,找到下面相似的内容:

@val = @{$canned_values{$hz}};
if (defined(@val)) {
@val = compute_values($hz);
}
output($hz, @val);

if (defined(@val)) 改为if (@val),就是去掉defined,再次编译就可以通过了。
具体原因可以查找perl官方文档,因perl升级导致的一个bug,去掉后可以直接使用数组判断非空。
出现上面的问题一般在Ubuntu16.04系统中,如果你是Ubuntu14.04则不会出现这个问题。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-3-28 19:15 , Processed in 0.018716 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表