kernel编译报Can't use 'defined(@array)'问题

在编译LINUX3.3内核时,报了一个  错误:

TIMEC   kernel/timeconst.h
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/mnt/WORKSPACE/omapl138/kernel/linux-3.3/kernel/Makefile:130: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:945: recipe for target 'kernel' failed
make: *** [kernel] Error 2
make: *** 正在等待未完成的任务....
  CC      fs/super.o

最后调查发现是和所使用的UBUNTU版本有关系,在使用ubuntu 16.04编译时,报这个错误;

使用ubuntu 12.04编译时,不会报这个错误。

 

依照编译器的提示kernel/timeconst.pl line 373,在ubuntu16.04中可以通过修改kernel/timeconst.pl的第373行:

把if (!defined(@val))修改成

 #if (!defined(@val))
 if (!@val){
  @val = compute_values($hz);
 }

即可以修正这个问题。

之前看网页上有介绍可能和64位机器环境有关系,ubuntu16.04和ubuntu12.04都是32位的虚拟机,应该和64位无关。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值