首页 > 技术文章 > android 8.1系统编译问题

skyeblogs 2021-04-08 15:03 原文

问题每次编译出现这个报错:

                                                 ^
9 warnings generated.
[  0% 21/75924] build out/target/product/msm8909/emmc_appsboot.mbn
make: Entering directory '/home/persist/disk2/skye-android/36AT/D38/bootable/bootloader/lk'
make[1]: Entering directory '/home/persist/disk2/skye-android/36AT/D38/bootable/bootloader/lk'
including app/aboot dev/fbcon dev/gcdb/display dev/keys dev/pmic/pm8x41 dev/pmic/pmi8994 dev/qpnp_haptic dev/vib lib/debug lib/heap lib/libc lib/libfdt lib/openssl lib/ptable
including lib/openssl/crypto lib/zlib_inflate
generating ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/config.h
generating ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/system-onesegment.ld
linking ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk
../../../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-ld: warning: /home/persist/disk2/skye-android/36AT/D38/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/../lib/gcc/arm-eabi/4.8/libgcc.a(bpabi.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
../../../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-ld: warning: /home/persist/disk2/skye-android/36AT/D38/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/../lib/gcc/arm-eabi/4.8/libgcc.a(_divdi3.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
../../../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-ld: warning: /home/persist/disk2/skye-android/36AT/D38/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/../lib/gcc/arm-eabi/4.8/libgcc.a(_udivdi3.o) uses 32-bit enums yet the output is to use variable-size enums; use of enum values across objects may fail
generating image: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.bin
generating listing: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.lst
generating listing: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.debug.lst
generating symbols: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.sym
generating size map: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.size
generating stripped elf: ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk_s.elf
   text    data     bss     dec     hex filename
 374324  214516  202520  791360   c1340 ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk
../../../prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin/arm-eabi-objcopy -O binary ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk.bin
cp -f ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/build-msm8909/lk_s.elf ../../../out/target/product/msm8909/obj/EMMC_BOOTLOADER_OBJ/../../emmc_appsboot.mbn
make[1]: Leaving directory '/home/persist/disk2/skye-android/36AT/D38/bootable/bootloader/lk'
make: Leaving directory '/home/persist/disk2/skye-android/36AT/D38/bootable/bootloader/lk'
ninja: build stopped: subcommand failed.
06:53:21 ninja failed with: exit status 1

#### failed to build some targets (02:26 (mm:ss)) ####

解决办法:在make之前调用export LC_ALL=C

参考:
https://stackoverflow.com/questions/51324238/aosp-build-stopped-subcommand-failed?answertab=active#tab-top

使用make -j8到make -j16之间的命令来编译。

推荐阅读