简体   繁体   English

bitbake meta-toolchain-qt5失败,尽管功能已删除,但不能满足x11

[英]bitbake meta-toolchain-qt5 failed, cannot satisfy x11 although feature was removed

Building Qt5 toolchain for Raspberry Pi2 Qt apps using Yocto fido See this tutorial . 使用Yocto fido为Raspberry Pi2 Qt应用程序构建Qt5工具链请参阅本教程 My build machine is NUC with Debian 7.8. 我的构建机器是带有Debian 7.8的NUC。

Succeeded to build my image perfectly, but getting error while building my toolchain. 成功地完美构建了我的图像,但是在构建工具链时出现了错误。

my local.conf , I removed x11 feature 我的local.conf ,我删除了x11功能

MACHINE = "raspberrypi2"
LICENSE_FLAGS_WHITELIST="commercial license"

DISTRO = "poky"
DL_DIR = "${TOPDIR}/../dl"
PACKAGE_CLASSES = "package_ipk"
DISTRO_FEATURES_remove = "x11 wayland"   <========= 
# Set Rpi GPU Memory to 128MB
GPU_MEM = "128"

my bblayers.conf 我的bblayers.conf

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly

LCONF_VERSION = "6"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
    ${TOPDIR}/../poky/meta-embarcados \
    ${TOPDIR}/../poky/meta-embarcados/meta-rpi \
    ${TOPDIR}/../poky/meta-qt5 \
    ${TOPDIR}/../poky/meta-raspberrypi \
    ${TOPDIR}/../poky/meta-openembedded/meta-oe \
    ${TOPDIR}/../poky/meta-openembedded/meta-ruby \
    ${TOPDIR}/../poky/meta \
    ${TOPDIR}/../poky/meta-yocto \
  "

I have tried from scratch by removing my build/tmp folder to no avail, I am still getting the x11 dependency issue although it's a removed feature in my local.conf . 我从头开始尝试通过删除build/tmp文件夹无济于事,尽管我在local.conf已删除了该功能,但仍然遇到x11依赖问题。

ERROR: Unable to install packages. Command '/home/otto/yocto/build/tmp/sysroots/x86_64-linux/usr/bin/opkg-cl -f /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/opkg.conf -o /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi --force_postinstall --prefer-arch-to-version   install packagegroup-core-standalone-sdk-target-dbg packagegroup-core-standalone-sdk-target packagegroup-qt5-toolchain-target' returned 255:
Installing packagegroup-core-standalone-sdk-target-dbg (1.0-r8) on root.
Downloading file:/home/otto/yocto/build/tmp/deploy/ipk/all/packagegroup-core-standalone-sdk-target-dbg_1.0-r8_all.ipk.

and

Configuring glibc-gconv-cp1252.
Configuring libsegfault.
Configuring libgcov-dev.
Configuring glibc-gconv-iso8859-15.
Configuring glibc-gconv-iso8859-1.
Configuring packagegroup-core-standalone-sdk-target.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for packagegroup-qt5-toolchain-target:
 *  libx11-6 (>= 1.6.2) *   libxcb1 (>= 1.11) *     libxau6 (>= 1.0.8) *    libxdmcp6 (>= 1.1.1) * 
 * opkg_install_cmd: Cannot install package packagegroup-qt5-toolchain-target.

ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.26687
ERROR: Task 7 (/home/otto/yocto/build/../poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3419 tasks of which 3418 didn't need to be rerun and 1 failed.
No currently running tasks (3418 of 3420)

Summary: 1 task failed:
  /home/otto/yocto/build/../poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Any pointers on how to resolve this? 关于如何解决这个问题的任何指示? why would it still try to compile x11 feature when removed? 为什么在删除后仍会尝试编译x11功能?

(Votes down are Ok, but a comment explaining why you are voting down is better. It's not like I am not trying hard on my side to resolve this critical issue on a Sunday! There is definitely some trolls in the StackExchange community) (投票可以,但有一条评论解释为什么拒绝投票会更好。这并不是说我不会在周日尽力解决这个关键问题!StackExchange社区中肯定有一些巨魔)

Libraries on build machine 构建机器上的库

This look to be the problem, the installed version is 1.5.0-1+deb7u2 where it requires >=1.6.2 . 看来是问题所在,安装的版本是1.5.0-1+deb7u2 ,其中需要>=1.6.2 That doesn't answer my question, but that's a hint. 那没有回答我的问题,但这只是一个提示。

otto@marvin:~/yocto/build$ apt-cache policy libx11-6
libx11-6:
  Installed: 2:1.5.0-1+deb7u2
  Candidate: 2:1.5.0-1+deb7u2
  Version table:
 *** 2:1.5.0-1+deb7u2 0
        500 http://security.debian.org/ wheezy/updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2:1.5.0-1+deb7u1 0
        500 http://ftp.us.debian.org/debian/ wheezy/main amd64 Packages
        500 http://http.debian.net/debian/ wheezy/main amd64 Packages

otto@marvin:~/yocto/build$ apt-cache policy libxcb1
libxcb1:
  Installed: 1.8.1-2+deb7u1
  Candidate: 1.8.1-2+deb7u1
  Version table:
     1.10-3~bpo70+1 0
        100 http://http.debian.net/debian/ wheezy-backports/main amd64 Packages
 *** 1.8.1-2+deb7u1 0
        500 http://ftp.us.debian.org/debian/ wheezy/main amd64 Packages
        500 http://security.debian.org/ wheezy/updates/main amd64 Packages
        500 http://http.debian.net/debian/ wheezy/main amd64 Packages
        100 /var/lib/dpkg/status

otto@marvin:~/yocto/build$ apt-cache policy libxau6
libxau6:
  Installed: 1:1.0.7-1
  Candidate: 1:1.0.7-1
  Version table:
 *** 1:1.0.7-1 0
        500 http://ftp.us.debian.org/debian/ wheezy/main amd64 Packages
        500 http://http.debian.net/debian/ wheezy/main amd64 Packages
        100 /var/lib/dpkg/status

otto@marvin:~/yocto/build$ apt-cache policy libxdmcp6
libxdmcp6:
  Installed: 1:1.1.1-1
  Candidate: 1:1.1.1-1
  Version table:
 *** 1:1.1.1-1 0
        500 http://ftp.us.debian.org/debian/ wheezy/main amd64 Packages
        500 http://http.debian.net/debian/ wheezy/main amd64 Packages
        100 /var/lib/dpkg/status

Upgraded to Debian 8.1 but problem persists 升级到Debian 8.1,但问题仍然存在

although libx11-6 , libxau6 , libxdmcp6 satisfy the version requirements, one library doesn't, and I can't install >=1.11 (I think), this is the latest libxcb1 on Jessie that I can get. 尽管libx11-6libxau6libxdmcp6满足版本要求,但一个库没有满足,并且我无法安装>=1.11 (我认为),但这是我可以得到的关于Jessie最新libxcb1

otto@marvin:~/yocto$ sudo apt-cache policy libxcb1
libxcb1:
  Installed: 1.10-3+b1
  Candidate: 1.10-3+b1
  Version table:
 *** 1.10-3+b1 0
        500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
        500 http://http.debian.net/debian/ jessie/main amd64 Packages
        100 /var/lib/dpkg/status

the message 讯息

Configuring packagegroup-core-standalone-sdk-target.
Collected errors:
 * satisfy_dependencies_for: Cannot satisfy the following dependencies for packagegroup-qt5-toolchain-target:
 *  libx11-6 (>= 1.6.2) *   libxcb1 (>= 1.11) *     libxau6 (>= 1.0.8) *    libxdmcp6 (>= 1.1.1) * 
 * opkg_install_cmd: Cannot install package packagegroup-qt5-toolchain-target.

ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.12273
ERROR: Task 7 (/home/otto/yocto/build/../poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3419 tasks of which 3418 didn't need to be rerun and 1 failed.
No currently running tasks (3418 of 3420)

Summary: 1 task failed:
  /home/otto/yocto/build/../poky/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.

Identified failing command 识别失败的命令

/home/otto/yocto/build/tmp/sysroots/x86_64-linux/usr/bin/opkg-cl -f /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/opkg.conf -o /home/otto/yocto/build/tmp/work/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.8/sysroots/cortexa7hf-vfp-vfpv4-neon-poky-linux-gnueabi --force_postinstall --prefer-arch-to-version install packagegroup-qt5-toolchain-target

definitely something in the packagegroup-qt5-toolchain-target 绝对在packagegroup-qt5-toolchain-target

This sounds similar to the experience I had where I built for X11 then subsequently turned it off with DISTRO_FEATURES_remove = "x11" . 这听起来与我为X11构建的体验类似,然后使用DISTRO_FEATURES_remove = "x11"将其关闭。

As far as I could see there was still a dependency on X11 somewhere in the license manifest , from what I recall there was a header file used Xauth in pango/cairo that's stubbed out without X11 . 据我所知, 许可证清单中的某处仍然依赖X11 ,据我所记得,在pango/cairo中有一个使用Xauth的头文件在没有X11的情况下被存根。

The problem went away when I built for a different MACHINE , so I would suggest launching a completely fresh build without X11 after clearing your SSTATE_CACHE . 当我为其他MACHINE构建时,问题消失了,因此建议您在清除SSTATE_CACHE之后启动不使用X11的全新构建。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM