Yocto Dunfell开启ARCHIVER_MODE[src]编译时文件冲突报错求助
Yocto Dunfell构建core-image-minimal文件冲突问题的解决方法
针对你在Yocto Dunfell版本中启用archiver并配置ARCHIVER_MODE[src] = "configured"后,构建core-image-minimal时出现crtprec32.o被libgcc和libgcc-initial重复安装的错误,以下是可行的解决方案和规避方法:
方法1:修改libgcc-initial的文件打包规则
在自定义layer中创建recipes-devtools/libgcc/libgcc-initial_%.bbappend文件,写入以下内容:
FILES:${PN}_remove = "${libdir}/${TARGET_SYS}/${BINV}/crtprec32.o"
该配置会从libgcc-initial的安装文件列表中移除冲突的crtprec32.o,避免与libgcc的安装操作冲突。
方法2:排除libgcc-initial的源码归档
在local.conf中添加以下配置,阻止archiver处理libgcc-initial的源码归档:
ARCHIVER_EXCLUDE += "libgcc-initial"
此操作会跳过对libgcc-initial的归档逻辑,避免触发导致冲突的额外打包流程。
方法3:调整gcc编译参数(x86_64架构专属)
在local.conf中添加编译参数,减少对libgcc-initial的依赖:
TARGET_CC_ARCH += "-fno-use-cxa-atexit"
该参数会改变gcc的运行时初始化行为,使得系统无需同时安装libgcc和libgcc-initial,从根源上避免文件冲突。
内容的提问来源于stack exchange,提问作者draxlerw
相关产品推荐
相关产品推荐

