我在构建内核模块时不断收到此错误。我试图去目录修复它。 (内置.o)它没有工作,并导致更多的构建/内核目录文件夹的问题。
LD drivers/input/touchscreen/built-in.o
arm-eabi-ld: cannot find /home/taco/android/system/kernel/lge/msm8909/drivers/input/touchscreen/ft_gesture_lib.a: No such file or directory
/home/taco/android/system/kernel/lge/msm8909/scripts/Makefile.build:387: recipe for target 'drivers/input/touchscreen/built-in.o' failed
make[5]: *** [drivers/input/touchscreen/built-in.o] Error 1
/home/taco/android/system/kernel/lge/msm8909/scripts/Makefile.build:455: recipe for target 'drivers/input/touchscreen' failed
make[4]: *** [drivers/input/touchscreen] Error 2
/home/taco/android/system/kernel/lge/msm8909/scripts/Makefile.build:455: recipe for target 'drivers/input' failed
make[3]: *** [drivers/input] Error 2
/home/taco/android/system/kernel/lge/msm8909/Makefile:815: recipe for target 'drivers' failed
make[2]: *** [drivers] Error 2
Makefile:130: recipe for target 'sub-make' failed
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory '/home/taco/android/system/kernel/lge/msm8909'
build/core/tasks/kernel.mk:286: recipe for target 'TARGET_KERNEL_BINARIES' failed
make: *** [TARGET_KERNEL_BINARIES] Error 2
make: Leaving directory '/home/taco/android/system'
#### make failed to build some targets (11:59 (mm:ss)) ####
taco@taco-VirtualBox:~/android/system$
答案 0 :(得分:0)
通常在repo manifest使用不兼容版本的项目时会发生这种情况,例如,如果您使用CM13清单并添加msm8909驱动程序,这些驱动程序是针对某些较旧的内核版本而不是CM13清单中使用的。
您是为您的设备构建现有的官方或非官方CM端口,还是组装新端口?在任何情况下,如果您使用任何库存,您应该提供有关您的仓库清单和CM端口的更多信息。
如果我所描述的问题,通常很难修复,因为这意味着将驱动程序代码移植到较新的内核版本。这项工作通常由维护驾驶员代码的人员完成,需要适当的经验。当然,它可能只需要化妆品改变,但这是一种罕见的情况。
在你的repo清单中检查驱动程序使用的git存储库,然后检查使用该代码的内核版本(通常可以在git标签/分支中看到)。 repo有可能为您需要的内核版本更新分支,但您的repo清单需要旧版本。