Bitbake 构建似乎创建了将实际构建输出打印到日志文件而不是标准输出的进程。
有没有办法让它们打印到标准输出?我需要它来使用 Coverity 分析软件。 Coverity 捕获从 stdout 对编译器的调用,以确定要分析哪些文件以及使用哪些选项构建它们。使用 Bitbake 它看不到单个编译命令...
Coverity 静态分析不依赖于输出到“标准输出”的任何内容来工作。您在 BitBake 中看到的问题是由环境变量引起的,SA 依赖环境变量来捕获对被 BitBake 清除的编译器的调用。
为了解决该问题,您需要将 SA 与 BitBake 一起使用的变量列入白名单(可能通过适当设置
BB_ENV_WHITELIST
或等效项)。
我认为 BitBake 可能有办法保留整个环境(设置
BB_PRESERVE_ENV
),但是,我不知道这是否会影响您的本机构建,所以我会犹豫是否建议它。