问题描述
在pick编译dtbo image的提交后,无法正常完成编译
复现环境
Ubuntu 20.04 + msm-4.19
$ bison --version
bison (GNU Bison) 3.5.1
由 Robert Corbett 和 Richard Stallman 编写。
版权所有 (C) 2020 Free Software Foundation, Inc.
这是自由软件;请参考源代码的版权声明。本软件不提供任何保证,甚至不会包括
可售性或适用于任何特定目的的保证。
错误日志
make[1]: 进入目录“/home/libxzr/kernels/android_kernel_oneplus_sm8250/out”
GEN ./Makefile
#
# configuration written to .config
#
make[1]: 离开目录“/home/libxzr/kernels/android_kernel_oneplus_sm8250/out”
make[1]: 进入目录“/home/libxzr/kernels/android_kernel_oneplus_sm8250/out”
GEN ./Makefile
scripts/kconfig/conf --syncconfig Kconfig
UPD include/config/kernel.release
GEN ./Makefile
UPD include/generated/utsrelease.h
Using .. as source for kernel
YACC scripts/dtc-aosp/dtc/dtc-parser.h
../scripts/dtc-aosp/dtc/dtc-parser.y: 警告: 3 项偏移/归约冲突 [-Wconflicts-sr]
HOSTCC scripts/dtc-aosp/dtc/dtc-lexer.lex.o
HOSTCC scripts/dtc-aosp/dtc/dtc-parser.tab.o
gcc: error: scripts/dtc-aosp/dtc/dtc-parser.tab.c: 没有那个文件或目录
gcc: fatal error: no input files
compilation terminated.
make[3]: *** [scripts/Makefile.host:107:scripts/dtc-aosp/dtc/dtc-parser.tab.o] 错误 1
make[3]: *** 正在等待未完成的任务....
make[2]: *** [../scripts/Makefile.build:643:scripts/dtc-aosp] 错误 2
make[1]: *** [/home/libxzr/kernels/android_kernel_oneplus_sm8250/Makefile:1174:scripts] 错误 2
make[1]: 离开目录“/home/libxzr/kernels/android_kernel_oneplus_sm8250/out”
make: *** [Makefile:146:sub-make] 错误 2
初步怀疑问题是在bison上,因为那个需要的dtc-parser.tab.c是由它生成的
但是 问题究竟是什么呢?bison版本太高了?
src: https://github.com/xzr467706992/android_kernel_oneplus_sm8250/commits/dtbo
解决方案
已解决
根本原因:内核过于先进
https://github.com/xzr467706992/android_kernel_oneplus_sm8250/commit/9be6de085764e46e237f3d2666fb6d352bcb2f46