【问题标题】:Yocto glibc-locale do_package installed but not shipped in any packageYocto glibc-locale do_package 已安装但未在任何包中提供
【发布时间】:2018-10-09 17:33:23
【问题描述】:

我正在尝试在 yocto 上构建自定义图像。创建图像时,我在 glibc-locale(do_package 步骤)中遇到错误。

错误是

ERROR: glibc-locale-2.24-r0 do_package: QA Issue: glibc-locale: Files/directories were installed but not shipped in any package:
    {
        "a lot of file in /usr/lib/gconv, /usr/share/i18n paths"
    }
    Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
    glibc-locale: 820 installed and not shipped files. [installed-vs-shipped]
    ERROR: glibc-locale-2.24-r0 do_package: Fatal QA errors found, failing task.
    ERROR: glibc-locale-2.24-r0 do_package: Function failed: do_package
    ERROR: Logfile of failure stored in: /home/test/rpi/build/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/glibc-locale/2.24-r0/temp/log.do_package.30243
    ERROR: Task (/home/test/poky-morty/meta/recipes-core/glibc/glibc-locale_2.24.bb:do_package) failed with exit code '1'

我尝试在 glibc-locale_2.24.bb 文件中添加以下内容来解决它:

INSANE_SKIP_${PN} = "已安装与已发货"

当我这样做时,glibc do_package 步骤中不再有错误,但我在 do_rootfs 步骤中有错误:

 ERROR: ekt-image-1.0-r0 do_rootfs: Unable to install packages. Command '/home/test/rpi/build/tmp/sysroots/x86_64-linux/usr/bin/opkg --volatile-cache -f /home/test/rpi/build/tmp/work/raspberrypi3-poky-linux-gnueabi/ekt-image/1.0-r0/opkg.conf -t /home/test/rpi/build/tmp/work/raspberrypi3-poky-linux-gnueabi/ekt-image/1.0-r0/temp/ipktemp/ -o /home/test/rpi/build/tmp/work/raspberrypi3-poky-linux-gnueabi/ekt-image/1.0-r0/rootfs  --force_postinstall --prefer-arch-to-version   install locale-base-en-us' returned 255:
Collected errors:
 * opkg_prepare_url_for_install: Couldn't find anything to satisfy 'locale-base-en-us'.

ERROR: ekt-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/test/rpi/build/tmp/work/raspberrypi3-poky-linux-gnueabi/ekt-image/1.0-r0/temp/log.do_rootfs.10085
ERROR: Task (/home/test/rpi/meta-rpi/images/ekt-image.bb:do_rootfs) failed with exit code '1'

我试图清理 glibc、glibc-locale 但它不起作用。

编辑:我尝试在我的 glibc-locale.inc 文件中添加这些行:

FILES_kernel-base += "/usr/share/i18n/charmaps/*"
FILES_kernel-base += "/usr/share/i18n/locales/*"
FILES_kernel-base += "/usr/lib/gconv/*"
FILES_kernel-base += "/usr/share/i18n*"

还有以下几行:

FILES_${PN} += "/usr/share/i18n/charmaps/*"
FILES_${PN} += "/usr/share/i18n/locales/*"
FILES_${PN} += "/usr/lib/gconv/*"
FILES_${PN} += "/usr/share/i18n*"

但这并不能解决我的问题。

【问题讨论】:

    标签: yocto bitbake


    【解决方案1】:

    我遇到了这个问题,这似乎是由于在构建时在 DISTRO_FEATURES 中遗漏了 glibc 选项。如果您要重新定义 DISTRO_FEATURES,请确保在其定义中包含 ${DISTRO_FEATURES_LIBC}

    请参阅 Yocto 邮件列表中的 Re: [yocto] Problem building glibc-locale

    另见openembedded-core/local.conf.sample.extended at master · openembedded/openembedded-core中关于DISTRO_FEATURES_LIBC的cmets。

    【讨论】:

      【解决方案2】:

      而不是像这样添加发行版功能:

      DISTRO_FEATURES += "feature"
      

      试试吧:

      DISTRO_FEATURES_append = " feature"
      

      我的 conf/local.conf 中的第一句话是覆盖 ?= 定义,例如 DISTRO_FEATURES_LIBC。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-27
        • 2021-10-11
        • 2021-12-06
        相关资源
        最近更新 更多