You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决bitbake编译imx-image-core时的oe_runmake failed错误?

问题分析

从日志里的关键信息来看,两个错误存在因果关系:

  • Error: open CFI at the end of file; missing .cfi_endproc directive是衍生问题,本质是编译进程被强制终止后,生成的临时汇编文件不完整导致的;
  • 核心问题是g++: fatal error: Killed signal terminated program cc1plus——Ubuntu系统的内存不足(OOM)杀手机制,因为编译gcc-cross组件需要大量内存,VMware虚拟机分配的内存不够,所以直接终止了cc1plus(gcc编译后端进程)。
修复方案

1. 提升VMware虚拟机内存分配

  • 关闭Ubuntu虚拟机,打开VMware的虚拟机设置;
  • 找到「内存」选项,将内存调整到8GB及以上(推荐16GB,Yocto编译对内存需求较高);
  • 重启虚拟机后,重新执行bitbake imx-image-core。

2. 调整bitbake并发编译参数

修改conf/local.conf文件,添加或调整以下参数,避免同时启动过多编译进程耗尽内存:

# 根据虚拟机CPU核心数设置,比如4核CPU就设为4,内存紧张可下调至2
BB_NUMBER_THREADS = "4"
PARALLEL_MAKE = "-j 4"

3. 临时启用交换分区(缓解内存压力)

如果暂时无法提升物理内存,可创建临时交换分区:

# 创建4GB交换文件
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

编译完成后若不需要,可关闭并删除交换分区:

sudo swapoff /swapfile
sudo rm /swapfile
验证步骤

先清理之前的编译残留:

bitbake -c cleanall gcc-cross-aarch64

再重新执行编译命令:

bitbake imx-image-core

内容的提问来源于stack exchange,提问作者Makoto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 01:35:26