yangzichen 发表于 2018-5-5 20:53:05

ok6410A开发板给出的官方内核文件编译时报错

问题描述如下:
PC使用的win764位机,虚拟机中用ubuntu16.04 LTS,64位机,开发板为OK6410A。
下载的资料是论坛链接里最新的2016年版本的资料。
已经成功安装了arm-linux-gcc 4.3.2,因为这个交叉编译器是32位的,所以安装了必要的32位库文件,顺利编译了uboot文件,在编译内核文件时出现了以下错误:
root@ubuntu:/forlinx/linux-3.0.1# make zImage
CHK   include/linux/version.h
CHK   include/generated/utsrelease.h
make: 'include/generated/mach-types.h' is up to date.
CALL    scripts/checksyscalls.sh
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.
/forlinx/linux-3.0.1/kernel/Makefile:140: recipe for target 'kernel/timeconst.h' failed
make: *** Error 255
Makefile:947: recipe for target 'kernel' failed
make: *** Error 2

有人说是交叉编译器的位置错误,所以将Makefile中做了如下修改
export KBUILD_BUILDHOST := $(SUBARCH)
ARCH                := arm
CROSS_COMPILE        := /usr/local/arm/4.3.2/bin/arm-linux-

#CROSS_COMPILE        ?= $(CONFIG_CROSS_COMPILE:"%"=%)
将编译器的位置直接指向了固定路径
然而并没有解决问题,百度了几次都没有找到相关的问题,只好到论坛里发帖。
小弟刚入门,大神多支持!

yangzichen 发表于 2018-5-5 21:25:22

本帖最后由 yangzichen 于 2018-5-5 21:31 编辑

https://www.cnblogs.com/asulove/p/6039907.html
找到答案了在这个帖子里一直在百度make: 'include/generated/mach-types.h' is up to date. 这个错误,却忽略了后面的错误
页: [1]
查看完整版本: ok6410A开发板给出的官方内核文件编译时报错