【问题标题】:Android kernel error: undefined reference to `radio_hci_smd_init'Android 内核错误:未定义对“radio_hci_smd_init”的引用
【发布时间】:2016-08-03 11:47:52
【问题描述】:

我正在尝试为摩托罗拉 Moto E 构建 Android 内核。

Android 内核信息:

名称:Android 内核 Motorola MSM8610

设备(预期):Moto E

硬件:MSM8610

Github:Kernel Source Link

工具链:

我已在以下工具链上尝试过此操作,但出现相同错误。

  1. Linaro 4.6.4
  2. Android NDK ARMEABI 4.6

我的程序:

  1. 首先清理android内核源码目录。

    make clean && make mrproper

  2. 制作配置文件。

    make ARCH=arm CROSS_COMPILE=/path/to/toolchain/bin/ msm8610_defconfig

  3. 构建内核。

    make ARCH=arm CROSS_COMPILE=/path/to/toolchain/bin/

错误:

在最后一步,即构建内核部分,我收到以下错误:

  LD      init/built-in.o
  LD      .tmp_vmlinux1
drivers/built-in.o: In function `iris_fops_open':
/home/mohit/code/android_kernel_motorola_msm8610/drivers/media/radio/radio-iris.c:5100: undefined reference to `radio_hci_smd_init'
Makefile:885: recipe for target '.tmp_vmlinux1' failed
make: *** [.tmp_vmlinux1] Error 1

那么这个问题可以解决吗?

谢谢。

【问题讨论】:

    标签: android linux linux-kernel arm


    【解决方案1】:

    一旦您了解内核源代码,就可以很容易地通过跟踪进行调查:

    最简单的方法可能是编辑您的 .config 以将 CONFIG_RADIO_IRIS_TRANSPORT=m 更改为 CONFIG_RADIO_IRIS_TRANSPORT=y,以使该驱动程序也内置并希望能够与另一个驱动程序链接。

    也就是说,给出错误isn't even there in the branch I'm looking at 的行。从 Git 日志来看,似乎有人试图通过引入损坏的构建时依赖项来修复损坏的运行时依赖问题,并且至少在该分支上它又被恢复了。

    【讨论】:

    • 感谢您修复它。您的跟踪调试真的很有帮助。
    猜你喜欢
    • 2014-08-22
    • 1970-01-01
    • 2016-10-03
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多