我正在按照此指南为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/

10-12 04:16