【问题标题】:AOSP error - FAILED: /bin/bash -c "prebuilts/clang/host/linux-x86/clang-2690385/bin/clang++AOSP 错误 - 失败:/bin/bash -c "p​​rebuilts/clang/host/linux-x86/clang-2690385/bin/clang++
【发布时间】:2017-11-10 01:31:27
【问题描述】:

[2% 247/11700] 目标 SharedLib: lib...libart_intermediates/LINKED/libart.so) 失败:/bin/bash -c "p​​rebuilts/clang/host/linux-x86/clang-2690385/bin/clang++ -nostdlib -Wl,-soname,libart.so -Wl,--gc-sections -shared -Lout/ target/product/generic/obj/lib out/target/product/generic/obj/lib/crtbegin_so.o out/target/product/generic/obj/SHARED_LIBRARIES/libart_intermediates/interpreter/mterp/out/mterp_arm.o
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/bin/ld:错误:out/target/product/generic/obj/SHARED_LIBRARIES/libart_intermediates/type_lookup_table.o:文件是空的 prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/bin/ld:错误:out/target/product/generic/obj/SHARED_LIBRARIES/libart_intermediates/verifier/instruction_flags.o:文件为空 art/runtime/base/scoped_flock.cc:37:错误:未定义对 'art::OS::OpenFileWithFlags(char const*, int)' 的引用 art/runtime/check_jni.cc:3240:错误:未定义对“art::operator&, art::Primitive::Type const&)”的引用 art/runtime/check_jni.cc:3056:错误:未定义对 'art::operator& 的引用, art/runtime/class_linker.cc:2166:错误:未定义对“art::ObjectLock::ObjectLock(art::Thread*, art::Handle)”的引用 艺术/运行时/class_linker.cc:2169:错误:未定义对“艺术::ObjectLock::WaitIgnoringInterrupts()”的引用 clang++:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) [ 2% 247/11700] 与 Jack 一起构建:o...t_intermediates/with-local/classes.dex 忍者:构建停止:子命令失败。 build/core/ninja.mk:148:目标“ninja_wrapper”的配方失败 make: *** [ninja_wrapper] 错误 1

make 未能构建一些目标 (06:55 (mm:ss))

运行 make -j16 时出现此错误 帮我做什么!

【问题讨论】:

    标签: android-source


    【解决方案1】:

    第一个建议是不要使用make -j16 构建,因为它需要太多的内存。 例如在 8 核上编译需要 64 GB 的内存(在我的服务器上测试)

    尝试只在一个内核或最多两个内核上编译。另一种解决方案是调用命令m 而不是make,让它自动在您的硬件上找到最佳设置。

    另一件事可能是您缺少一些软件包。您确定安装了这些软件包吗?

    git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

    它们可以为您的发行版使用不同的名称(例如,如果您使用 Arch)。

    还要注意:

    • 编译需要 2.5 到 4 小时,具体取决于您的 CPU 性能。 - 下载安卓源码需要100GB,编译需要100-150GB。
    • 您还需要至少 12 GB 或更多空间才能在单核上进行编译。
    • some method 使用交换空间在 8GB RAM 上编译它,但这非常慢,因此不推荐。

    我的个人硬件和时代:

    • 英特尔至强 e5-2680v3 8 核 cpu
    • 40 GB 内存
    • make -j1 的编译时间:2 小时

    【讨论】:

      【解决方案2】:

      您的某些目标文件似乎已损坏。我建议您清理目录out/target/product/generic/obj/SHARED_LIBRARIES/libart_intermediates 或/和清理ccache ccache -C

      【讨论】:

        猜你喜欢
        • 2011-10-17
        • 1970-01-01
        • 2017-07-07
        • 2014-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-08
        相关资源
        最近更新 更多