我正在按照此指南为Sony Xperia Z3 Tablet紧凑版构建内核:
http://developer.sonymobile.com/knowledge-base/open-source/open-devices/how-to-build-and-flash-a-linux-kernel/how-to-build-and-flash-a-linux-kernel-for-aosp-supported-devices/
我收到的错误如下make ARCH=arm CROSS_COMPILE=$CROSS_COMPILE -j4
...
CC kernel/exec_domain.o
CC arch/arm/mach-msm/board-8974-gpiomux.o
AS arch/arm/mm/tlb-v7.o
AS arch/arm/mm/proc-v7.o
CC mm/mempool.o
arch/arm/mach-msm/board-8974-gpiomux.c:692:24: error: 'gpio_spi_config' undeclared here (not in a function)
[GPIOMUX_ACTIVE] = &gpio_spi_config,
^
LD arch/arm/mm/built-in.o
scripts/Makefile.build:308: die Regel für Ziel „arch/arm/mach-msm/board-8974-gpiomux.o“ scheiterte
make[1]: *** [arch/arm/mach-msm/board-8974-gpiomux.o] Fehler 1
Makefile:815: die Regel für Ziel „arch/arm/mach-msm“ scheiterte
make: *** [arch/arm/mach-msm] Fehler 2
make: *** Auf noch nicht beendete Prozesse wird gewartet …
CC mm/oom_kill.o
CC kernel/panic.o
CC kernel/printk.o
CC kernel/cpu.o
CC mm/fadvise.o
...
按照HowTo中的建议,我执行了以下步骤:
安装了4.8交叉编译工具链并导出了CROSS_COMPILE var
克隆的内核存储库
从aosp存储库中获取aosp_shinano_scorpion_defconfig
更新了配置
运行上述构建命令
正如我在
board-8974-gpiomux.c
中看到的那样,gpio_spi_config
结构的声明在ifdef
内部,但是发生错误的调用不在ifdef
条件的范围内。因此,对于我来说,编译器抱怨是合乎逻辑的。但是我也怀疑源代码中的错误,因为我可以肯定我不是该指南的第一人。
有任何想法吗?
谢谢并恭祝安康,
蒂莫
最佳答案
他是对的。
在文件"board-8974-gpiomux.c"
中,我们看到"#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE)"
。这意味着如果至少其中之一已启用,则gcc将看到本节中的定义。
在配置文件中启用"CONFIG_KS8851=y"
通过了我。
关于android - Sony Z3 tablet内核编译时出错-board-8974-gpiomux.c-'gpio_spi_config',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36959549/