嵌入式爱好者

查看: 29163|回复: 3

[Linux] 原版Linux 内核编译报错

[复制链接]

3

主题

10

帖子

32

积分

AM335x通行证

扫一扫,手机访问本帖
发表于 2016-12-30 06:18:42 | 显示全部楼层 |阅读模式
我解压了linux/src/kernel-3.2后执行了以下步骤 无法编译通过
  1. cp arch/arm/configs/ok335xd_evm_linux_usb_defconfig .config
  2. make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm uImage
复制代码
出现的错误是

  1. CC      kernel/exit.o
  2.   CC      kernel/itimer.o
  3.   TIMEC   kernel/timeconst.h
  4. Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
  5. /home/huangteng/Teng_Project/ok335_work/linux/src/kernel-3.2/kernel/Makefile:141: recipe for target 'kernel/timeconst.h' failed
  6. make[1]: *** [kernel/timeconst.h] Error 255
  7. Makefile:945: recipe for target 'kernel' failed
  8. make: *** [kernel] Error 2
复制代码


请教哪位大牛帮忙解决
回复

使用道具 举报

1

主题

3670

帖子

4177

积分

发表于 2016-12-30 08:32:55 | 显示全部楼层
您好:
      把make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm uImage 改为
          make CROSS_COMPILE=arm-fsl-linux-gnueabi- ARCH=arm uImage
      因为我们所用的交叉编译器是arm-fsl-linux-gnueabi-

点评

您好 感谢回复 但是我没有看到这个文件啊 我解压的tool原始包名字是cross-tools-am335x-4.5.3.tar.bz2 我买的是OK335xD的板子  详情 回复 发表于 2016-12-31 19:20
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

3

主题

10

帖子

32

积分

AM335x通行证

 楼主| 发表于 2016-12-31 19:20:15 | 显示全部楼层
飞凌-chongzi 发表于 2016-12-30 08:32
您好:
      把make CROSS_COMPILE=arm-arago-linux-gnueabi- ARCH=arm uImage 改为
          make CRO ...

您好 感谢回复
但是我没有看到这个文件啊 我解压的tool原始包名字是cross-tools-am335x-4.5.3.tar.bz2
我买的是OK335xD的板子
点评回复 支持 反对

使用道具 举报

3

主题

10

帖子

32

积分

AM335x通行证

 楼主| 发表于 2017-1-2 06:10:36 | 显示全部楼层
问题已经解决 是官方源码有问题 补丁如下

  1. git diff kernel/timeconst.pl
  2. diff --git a/kernel/timeconst.pl b/kernel/timeconst.pl
  3. index eb51d76..3f42652 100755
  4. --- a/kernel/timeconst.pl
  5. +++ b/kernel/timeconst.pl
  6. @@ -369,10 +369,8 @@ if ($hz eq '--can') {
  7.                 die "Usage: $0 HZ\n";
  8.         }

  9. -       @val = @{$canned_values{$hz}};
  10. -       if (!defined(@val)) {
  11. -               @val = compute_values($hz);
  12. -       }
  13. +       $cv = $canned_values{$hz};
  14. +       @val = defined($cv) ? @$cv : compute_values($hz);
  15.         output($hz, @val);
  16. }
  17. exit 0;
复制代码
点评回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-20 19:21

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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