【问题标题】:Android build failing during soong bootsrap -- uses all resources and hangs在 soong bootsrap 期间 Android 构建失败 - 使用所有资源并挂起
【发布时间】:2021-09-06 14:01:37
【问题描述】:

我正在构建 AOSP11 并在 Ubuntu 18.04 上构建,并且处于构建过程的早期阶段 我收到以下错误:

很快引导失败:退出状态 1

在这一步失败:

out/soong/.bootstrap/bin/soong_build out/soong/build.ninja

它运行了大约 1:15,然后整个系统挂起。运行系统时 性能监视器我看到所有可用的 CPU(所有内核)和内存都已使用 在它挂起的地方。 Dmesg 显示内存不足错误。

[  18984] 637467462 18984   655554    79950  1187840        0             0 soong_uiJun 22 18:13:11 u4002491698b25b kernel: [30273.095111] [  20075] 637467462 20075     7301       94   102400        0             0 nsjail
Jun 22 18:13:11 u4002491698b25b kernel: [30273.095113] [  20076] 637467462 20076    18361     1104   131072        0             0 ninja
Jun 22 18:13:11 u4002491698b25b kernel: [30273.095114] [  22876] 637467462 22876     1159       17    53248        0             0 sh
Jun 22 18:13:11 u4002491698b25b kernel: [30273.095116] [  22877] 637467462 22877  3498675  3378317 27357184        0             0 soong_build
Jun 22 18:13:11 u4002491698b25b kernel: [30273.095116] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/,task=soong_build,pid=22877,uid=637467462
Jun 22 18:13:11 u4002491698b25b kernel: [30273.095187] Out of memory: Killed process 22877 (soong_build) total-vm:13994700kB, anon-rss:13513268kB, file-rss:0kB, shmem-rss:0kB, UID:637467462 pgtables:26716kB oom_score_ad

在网上搜索表明我应该尝试使用较低的 -j 值。我尝试使用 -j1 或 -j2 但仍然出现错误。有时,如果我一遍又一遍地尝试它就会完成 再次,但次数会有所不同。

我正在使用 make 4.1 并有 16 GB 的 RAM。通过 gnome 终端在 SSD 上执行构建。

我已经尝试删除整个“out”目录以及“make clean”,但似乎没有任何帮助。

更多的内存有帮助吗?

编辑:以下来自 verbose.log.1 并显示失败的命令:

[221/221] out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Android.

【问题讨论】:

    标签: android memory gnu-make ubuntu-18.04 android-soong


    【解决方案1】:

    我正在 Ubuntu 20.04 上构建 AOSP 10。 当我没有通过较低的 -j 值并且 PC 内存不足时,症状是相同的。我的同事也遇到了同样的问题 - 我们注意到多次运行 make -j1(或 m -j1)最终会导致构建成功。

    或者:首先,你运行make;失败后,你运行make -j1

    因此,根据我们的经验,我认为更多 RAM 应该会有所帮助,因为 AOSP 11 可能会占用更多资源。

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2020-11-21
      • 2021-02-15
      • 2020-06-24
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 2019-06-24
      相关资源
      最近更新 更多