编译内核出现kernel/timeconst.pl line 373

我是用的fedora 23 64位系统
编译内核linux-2.6.38
出现如下错误:
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/opt/ARM/mini6410/linux/linux-2.6.38/kernel/Makefile:140: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:916: recipe for target 'kernel' failed
make: *** [kernel] Error 2
请教如何解决?

这怎么能看出来。。。

内核别改看看能编译吗

请问你这个问题解决了吗?

我现在也遇到了同样的问题

找了一圈,不少朋友有这样的错误,或许可以试试去掉Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.中的define(),就像程序报的错误提示的那样,将kernel/timeconst.pl中第373行的defined()去掉只留下@val试一试也许可以

这样处理
删除
@val = @{$canned_values{$hz}};
if (!defined(@val)) {
@val = compute_values($hz);
}
output前面加入
$cv = $canned_values{$hz};
@val = defined($cv) ? @$cv : compute_values($hz);

貌似是跟perl版本有关系, >=5.22的perl会报这个错误,解决的方法也很简单,就是按照错误描述里说的把define()干掉就好了。

sudo apt-get install bc