基于OpenSTLinux的Yocto项目中glibc-locale编译报错求助
Yocto Kirkstone构建STM32MP157 emsbc-argon板时glibc-locale打包失败求助
项目背景
- 基于STM32MP157的emsbc-argon自定义板开发Yocto项目
- 厂商仅提供Dunfell版本BSP,自行采用Kirkstone版本搭配OpenSTLinux发行版开发
构建配置
Build Configuration: BB_VERSION = "2.0.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "arm-emt_eglfs-linux-gnueabi" MACHINE = "emsbc-argon" DISTRO = "emt-eglfs" DISTRO_VERSION = "1.3" TUNE_FEATURES = "arm vfp cortexa7 neon vfpv4 thumb callconvention-hard" TARGET_FPU = "hard" DISTRO_CODENAME = "kirkstone" ACCEPT_EULA_emsbc-argon = "1" GCCVERSION = "11.%" PREFERRED_PROVIDER_virtual/kernel = "linux-stm32mp-argon" meta-emtrion-emsbc-argon meta-emtrion = "<unknown>:<unknown>" meta = "HEAD:f7766da462905ec67bf549d46b8017be36cd5b2a" meta-oe meta-initramfs meta-multimedia meta-python meta-networking meta-webserver meta-filesystems meta-perl = "HEAD:05dcac98473402d87e0af73bbc2c5a6a840abe93" meta-qt5 = "HEAD:5b71df60e523423b9df6793de9387f87a149ac42" meta-st-stm32mp = "HEAD:ca501bd7dbe023682903ceedddaacd940b0898f4" meta-st-openstlinux = "HEAD:cb736b403d0fef2a02390695613b6b4bb13ca1b7" meta-gnome = "HEAD:05dcac98473402d87e0af73bbc2c5a6a840abe93"
问题描述
已创建两个自定义层并添加至bblayers.conf,构建时出现打包失败:
Summary: 1 task failed: virtual:nativesdk:/home/hico/work/emtrion/argon-yocto/test-st-yocto/layers/openembedded-core/meta/recipes-core/glibc/glibc-locale_2.35.bb:do_package
日志核心错误:
ERROR: nativesdk-glibc-locale-2.35-r0 do_package: QA Issue: nativesdk-glibc-locale: Files/directories were installed but not shipped in any package: /opt/arm-emt_eglfs-linux-gnueabi/nativesdk/usr/lib/locale /opt/arm-emt_eglfs-linux-gnueabi/nativesdk/usr/lib/locale/locale-archive Please set FILES such that these items are shipped. Alternatively if they are unneeded, avoid installing them or delete them within do_install. ERROR: nativesdk-glibc-locale-2.35-r0 do_package: Fatal QA errors found, failing task.
解决思路
- 检查自定义层修改:确认是否有自定义
.bbappend修改了glibc-locale的FILES变量,或在do_install阶段新增了未打包的文件;若没有自定义修改,排查厂商Dunfell版本BSP层(meta-emtrion-emsbc-argon、meta-emtrion)与Kirkstone的兼容性冲突。 - 修复FILES变量:创建
recipes-core/glibc/glibc-locale_2.35.bbappend(或对应版本的bbappend),添加nativesdk的文件打包规则:FILES:nativesdk-glibc-locale += " \ ${libdir}/locale/ \ ${libdir}/locale/locale-archive \ " - 排查BSP层兼容性:检查厂商BSP层中是否涉及glibc/locale的配置(如
LOCALE_ARCHIVE),Dunfell到Kirkstone的变量或路径可能存在变更;尝试暂时禁用自定义层,验证基础构建是否正常,排除自定义层引入的问题。 - 核对OpenSTLinux层版本:确认meta-st-stm32mp、meta-st-openstlinux的Kirkstone版本与openembedded-core版本(f7766da46290)匹配,参考OpenSTLinux官方文档确认STM32MP157在Kirkstone下的locale配置要求。
内容的提问来源于stack exchange,提问作者radium88
相关产品推荐
相关产品推荐

