我正在尝试在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'
Run Code Online (Sandbox Code Playgroud)
我尝试解决它在glibc-locale_2.24.bb文件中添加以下内容:
INSANE_SKIP _ $ {PN} ="installed-vs-shipped"
当我这样做时,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'
Run Code Online (Sandbox Code Playgroud)
我试图清理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*"
Run Code Online (Sandbox Code Playgroud)
还有这些线:
FILES_${PN} += "/usr/share/i18n/charmaps/*"
FILES_${PN} += "/usr/share/i18n/locales/*"
FILES_${PN} += "/usr/lib/gconv/*"
FILES_${PN} += "/usr/share/i18n*"
Run Code Online (Sandbox Code Playgroud)
但它并没有解决我的问题.
我遇到过这个问题,似乎是因为DISTRO_FEATURES在构建中省略了glibc选项.如果您要重新定义DISTRO_FEATURES,请确保包含${DISTRO_FEATURES_LIBC}在其定义中.
请参阅Re:[yocto]问题在Yocto邮件列表上构建glibc-locale.
另请参阅有关的评论DISTRO_FEATURES_LIBC中OpenEmbedded的核心/在主OpenEmbedded的·/ OpenEmbedded的核心local.conf.sample.extended.
小智 5
而不是添加这样的发行版功能:
DISTRO_FEATURES += "feature"
Run Code Online (Sandbox Code Playgroud)
试试吧:
DISTRO_FEATURES_append = " feature"
Run Code Online (Sandbox Code Playgroud)
我的 conf/local.conf 中的第一句话覆盖了 ?= 定义,例如 DISTRO_FEATURES_LIBC。
| 归档时间: |
|
| 查看次数: |
4135 次 |
| 最近记录: |