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:31 编辑
https://www.cnblogs.com/asulove/p/6039907.html
找到答案了在这个帖子里一直在百度make: 'include/generated/mach-types.h' is up to date. 这个错误,却忽略了后面的错误
页:
[1]