互斥 Bitbake Recipes/Tasks

Mutually Exclusive Bitbake Recipes/Tasks

我有几个 do_compile 任务使用大量内存(大量 C++ 模板)的食谱。如果我同时构建食谱,它们会耗尽主机的内存,内存不足的杀手开始杀戮。

我已经多次修改 BB_NUMBER_PARSE_THREADSBB_NUMBER_THREADSPARALLEL_MAKEPARALLEL_MAKEINST,但是为这些变量选择数字是不可行的在所有情况下都能很好地工作。例如,如果我将 BB_NUMBER_THREADS 设置为 1 以便一次只构建其中一个配方,那么在没有任何更改(一切都可以是从缓存中提取)。我觉得这些不是解决我问题的正确方法。

有没有办法告诉 bitbake 一次只构建这些配方的 do_compile 任务之一,而让其他配方的任务正常构建?

这不是您正在寻找的答案,但您可以得到类似的答案:

do_compile[lockfiles] = "${WORKDIR}/mylock"

这需要任务获取并持有锁才能执行,那么您可以确定一次只有一个 运行。