【问题标题】:AOSP Building Failed - ckati failed with: exit status 1AOSP 构建失败 - ckati 失败,退出状态为 1
【发布时间】:2020-09-23 11:33:11
【问题描述】:

所以我一直在努力构建 Android AOSP 项目。我遵循了官方文档 (https://source.android.com/setup/build/downloading) 上的指南。 经过几次尝试,我总是从终端得到以下错误堆栈跟踪。我正在尝试构建 'aosp_coral-userdebug'。我注意到的另一件事是,如果我使用菜单中的另一个组合,'ninja' 也会出现另一种形式的错误。 请帮忙!!!

12:09:31 You are building on a machine with 15.4GB of RAM
12:09:31 
12:09:31 The minimum required amount of free memory is around 16GB,
12:09:31 and even with that, some configurations may not work.
12:09:31 
12:09:31 If you run into segfaults or other errors, try reducing your
12:09:31 -j value.
12:09:31 ************************************************************
============================================
PLATFORM_VERSION_CODENAME=S
PLATFORM_VERSION=S
TARGET_PRODUCT=aosp_coral
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.4.0-47-generic-x86_64-Ubuntu-18.04.5-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=AOSP.MASTER
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=hardware/google/av hardware/google/camera hardware/google/interfaces hardware/google/pixel device/google/coral hardware/qcom/sm8150/display hardware/qcom/sm8150/data/ipacfg-mgr hardware/qcom/sm8150/gps vendor/google/airbrush/floral vendor/google/biometrics/face vendor/google/camera vendor/google/darwinn vendor/qcom/sm8150 vendor/qcom/sm8150/proprietary/commonsys/telephony-apps/DataStatusNotification vendor/qcom/sm8150/proprietary/data/permissions vendor/qcom/sm8150/proprietary/gps vendor/qcom/sm8150/codeaurora/location vendor/google/interfaces vendor/qcom/sensors vendor/google/tools/sensors vendor/qcom/sm7250/codeaurora/commonsys/telephony/ims/ims-ext-common vendor/qcom/sm7250/codeaurora/dataservices/rmnetctl vendor/qcom/sm7250/proprietary/commonsys/qcrilOemHook vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/ims vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/QtiTelephonyService vendor/qcom/sm7250/proprietary/commonsys/telephony-apps/xdivert vendor/qcom/sm7250/proprietary/qcril-data-hal vendor/qcom/sm7250/proprietary/qcril-hal
============================================
wildcard(out/target/product/coral/clean_steps.mk) was changed, regenerating...
[ 99% 1236/1237] finishing build rules ...
FAILED: 
build/make/core/main.mk:1336: warning:  device/google/coral/aosp_coral.mk produces files inside build/make/target/product/generic_system.mks artifact path requirement. 
Offending entries:
system/etc/permissions/com.qti.snapdragon.sdk.display.xml
system/framework/com.qti.snapdragon.sdk.display.jar
system/framework/com.qualcomm.qti.uceservice-V2.0-java.jar
system/framework/vendor.qti.hardware.alarm-V1.0-java.jar
system/framework/vendor.qti.hardware.data.latency-V1.0-java.jar
system/framework/vendor.qti.hardware.factory-V1.0-java.jar
system/framework/vendor.qti.ims.callinfo-V1.0-java.jar
system/framework/vendor.qti.voiceprint-V1.0-java.jar
system/lib/libDiagService.so
system/lib/libOpenCL_system.so
system/lib/libadsprpc_system.so
system/lib/libcdsprpc_system.so
system/lib/libdiag_system.so
system/lib/libdisplayconfig.so
system/lib/libmdsprpc_system.so
system/lib/libmmosal.so
system/lib/libqmi_cci_system.so
system/lib/libsdsprpc_system.so
system/lib64/libDiagService.so
system/lib64/libOpenCL_system.so
system/lib64/libadsprpc_system.so
system/lib64/libcdsprpc_system.so
system/lib64/libdiag_system.so
system/lib64/libdisplayconfig.so
system/lib64/libmdsprpc_system.so
system/lib64/libmmosal.so
system/lib64/libqmi_cci_system.so
system/lib64/libsdsprpc_system.so
build/make/core/main.mk:1336: error: Build failed.
12:10:42 ckati failed with: exit status 1

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

【问题讨论】:

  • 日志开头的警告似乎很严重。为什么不用低并行化(较低的j 值)或在云中的大型虚拟机中运行构建?

标签: android android-source google-coral naos-project


【解决方案1】:

此错误通常意味着构建过程被您笔记本电脑中的操作系统杀死,因为没有剩余 RAM。 您可以通过在错误后运行 dmesg 并在内核日志中查看您的进程已被终止来确认。

解决方案是:

  1. 使用比您当前使用的更小的 j 值运行 make,或者
  2. 获取更多 RAM,或
  3. 添加交换空间(将用作虚拟内存的磁盘部分)

【讨论】:

  • 您正在一台具有 15.4GB 内存的机器上构建。所需的最低可用内存量约为 16GB,即使这样,某些配置也可能无法正常工作。如果您遇到段错误或其他错误,请尝试减少您的 -j 值。 如果我的构建过程由此开始,我会先购买该 RAM.. 即使它因缺少分号而失败。
  • 是的,从长远来看,最好增加 RAM。短期来看,其他两种解决方案中的任何一种都应该可以解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-03
相关资源
最近更新 更多