高通平台abl 编译不过问题"/>
andriod 10 高通平台abl 编译不过问题
参考文档: android8.1 高通平台abl 编译不过问题
未避免后续网页打不开,粘贴原文如下:
代码从服务器拉下来,编译都没问题,但是由于磁盘空间小,挪了个位置,导致能编译过的代码编译失败:
[ 0% 827/118012] build out/target/product/apollo/abl.elf
FAILED: out/target/product/apollo/abl.elf
/bin/bash -c "make -j4 -C bootable/bootloader/edk2 BOOTLOADER_OUT=../../../out/target/product/apollo/obj/ABL_OBJ all VERIFIED_BOOT=1 VERIFIED_BOOT_2=0 USER_BUILD_VARIANT=0 CLANG_BIN=/home/sdduser/code/android_O/prebuilts/clang/host/ linux-x86/clang-4053586/bin/ TARGET_ARCHITECTURE=AARCH64"
make: Entering directory '/home/sdduser/code/android_O/bootable/bootloader/edk2'
Loading previous configuration from /home/sdduser/code/android_O/bootable/bootloader/edk2/Conf/BuildEnv.sh
WORKSPACE: /home/sdduser/code/android_O/bootable/bootloader/edk2
EDK_TOOLS_PATH: /local/android_O/bootable/bootloader/edk2/BaseTools
CONF_PATH: /home/sdduser/code/android_O/bootable/bootloader/edk2/Conf
make[1]: Entering directory '/home/sdduser/code/android_O/bootable/bootloader/edk2'
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make -C Source/C
make[2]: Entering directory '/home/sdduser/code/android_O/bootable/bootloader/edk2/BaseTools/Source/C'
Attempting to detect ARCH from 'uname -m': x86_64
Detected ARCH of X64 using uname.
mkdir -p .
make -C Common
make[3]: Entering directory '/home/sdduser/code/android_O/bootable/bootloader/edk2/BaseTools/Source/C/Common'
make[3]: *** No rule to make target '/usr/include/x86_64-linux-gnu/bits/predefs.h', needed by 'BasePeCoff.o'. Stop.
make[3]: Leaving directory '/home/sdduser/code/android_O/bootable/bootloader/edk2/BaseTools/Source/C/Common'
GNUmakefile:79: recipe for target 'Common' failed
make[2]: *** [Common] Error 2
make[2]: Leaving directory '/home/sdduser/code/android_O/bootable/bootloader/edk2/BaseTools/Source/C'
GNUmakefile:25: recipe for target 'Source/C' failed
make[1]: *** [Source/C] Error 2
make[1]: Leaving directory '/home/sdduser/code/android_O/bootable/bootloader/edk2/BaseTools'
makefile:49: recipe for target 'EDK_TOOLS_BIN' failed
make: *** [EDK_TOOLS_BIN] Error 2
make: Leaving directory '/home/sdduser/code/android_O/bootable/bootloader/edk2'
错误1,代码默认下载好后,编译路径被记下了,存放在了文件里bootable/bootloader/edk2/Conf/BuildEnv.sh,使用make clean 没办法清掉.
可以验证下,进入报错目录: bootable/bootloader/edk2 使用如下命令
. edksetup.sh
结果
WORKSPACE: /home/sdduser/code/android_O/bootable/bootloader/edk2
EDK_TOOLS_PATH: /local/android_O/bootable/bootloader/edk2/BaseTools
CONF_PATH: /home/sdduser/code/android_O/bootable/bootloader/edk2/Conf
可以看到BaseTools路径:EDK_TOOLS_PATH 还是之前的路径. 解决办法, 在edk2目录下执行:
rm -rf Conf/BuildEnv.sh
unset EDK_TOOLS_PATH
. ./edksetup.sh BaseTools
错误2: make[3]: *** No rule to make target '/usr/include/x86_64-linux-gnu/bits/predefs.h', needed by 'BasePeCoff.o'. Stop.
这个简单, 把中间文件清掉即可, 进入 BaseTools目录:
make clean
重新编译: make -j8 2>&1 | tee build.log 就不再报abl 编译错误了
————————————————
版权声明:本文为CSDN博主「ngyzqf」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
更多推荐
andriod 10 高通平台abl 编译不过问题
发布评论