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

2.1k views Asked by At

Building Qt5 toolchain for Raspberry Pi2 Qt apps using Yocto fido See this tutorial. My build machine is NUC with Debian 7.8.

Succeeded to build my image perfectly, but getting error while building my toolchain.

my local.conf, I removed x11 feature

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

# 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.

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?

(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)

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. 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

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.

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

1

There are 1 answers

2
whoopy On

This sounds similar to the experience I had where I built for X11 then subsequently turned it off with 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.

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.