Failed to build angstrom-qt5-x11-image recipe on Colibri-T20 with Yocto/Poky

Hi,

I followed you recommendation for building a Colibri-T20 image with Qt5 and X11 support.
I’ve used the angstrom-qt5-x11-image.bb recipe with necessary layers.

However, I get some errors such as missing recipe.
So I had to add in my local.conf:

IMAGE_INSTALL_append = " libpcre"

But in the final step as the sysroot gets populated, I had the following error:

Build Configuration:
BB_VERSION        = "1.28.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Debian-8.6"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "colibri-t20"
DISTRO            = "poky"
DISTRO_VERSION    = "2.0.2"
TUNE_FEATURES     = "arm armv7a vfp thumb callconvention-hard"
TARGET_FPU        = "vfp"
meta
meta-yocto
meta-yocto-bsp    = "jethro:2804850ea7b030be9b36ea1af03cd80d90466707"
meta-toradex-bsp-common = "jethro-next:7411132f47b3a3dc4eedb42be177afe3fb8c9b6a"
meta-toradex-demos = "jethro-next:f2de1e7916b05bb78dabbf50a8ba76173eef95b0"
meta-toradex-tegra = "jethro-next:1bc3e5c2b567570d33b4b94eae36d41e99a1bee5"
meta-fsl-demos    = "jethro:8bffde8d803dd2362fbded79781ce084d723b048"
meta-fsl-arm      = "jethro:417f669e4dede244a81e11aa6d8b60c4e333e589"
meta-angstrom     = "angstrom-v2015.12-yocto2.0:7f2eec75fd20b672221ff071d121fa9ea2e1e6ea"
meta-browser      = "jethro:e114d625d4bd23a52cc1108a45d96ffd8dc0ab7f"
meta-lxde         = "jethro:d097882e3859220e9ce0c99250e22f5833233c6e"
meta-jetson-tk1   = "jethro:0569d7a930506c185734097a58e1de219dc66c80"
meta-oe
meta-gnome
meta-multimedia
meta-networking
meta-python
meta-ruby
meta-efl
meta-systemd      = "jethro-next:2ea8d7f54a061e902657c4f8ea1f7f7c25c6c4e1"
meta-qt5          = "jethro-next:a8d4dafdfde812e403315d53b2a981d12bd49f04"

NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
ERROR: Unable to install packages. Command '/home/kai/yocto/build-angstrom-qt5/tmp/sysroots/x86_64-linux/usr/bin/smart --log-level=warning --data-dir=/home/kai/yocto/build-angstrom-qt5/tmp/work/colibri_t20-poky-linux-gnueabi/angstrom-qt5-x11-image/V2.6.1-r0/Colibri_T20_LinuxImage-qt5V2.6.1/rootfs/var/lib/smart install -y scrot@armv7ahf_vfp devmem2@armv7ahf_vfp connman-1.30-r0@armv7ahf_vfp ldd@armv7ahf_vfp gst-plugins-good-isomp4@armv7ahf_vfp gst-plugins-base-decodebin@armv7ahf_vfp connman-1.30-r0@armv7ahf_vfp gst-plugins-good-matroska@armv7ahf_vfp xserver-xorg@colibri_t20 xset@armv7ahf_vfp kernel-modules@colibri_t20 trdx-nv-binaries-restricted-codecs@colibri_t20 util-linux-fstrim@armv7ahf_vfp makedevs@armv7ahf_vfp ethtool@armv7ahf_vfp lmbench@armv7ahf_vfp evtest@armv7ahf_vfp xf86-input-keyboard@armv7ahf_vfp libxcomposite1@armv7ahf_vfp connman-1.30-r0@armv7ahf_vfp alsa-utils-aplay@armv7ahf_vfp gst-plugins-good-video4linux2@armv7ahf_vfp aspell@armv7ahf_vfp gdbserver@armv7ahf_vfp minicom@armv7ahf_vfp gst-plugins-base-ogg@armv7ahf_vfp gst-plugins-good-wavparse@armv7ahf_vfp rt-tests@armv7ahf_vfp libxcursor1@armv7ahf_vfp packagegroup-base-extended@colibri_t20 gst-plugins-base-ivorbisdec@armv7ahf_vfp gst-plugins-base-theora@armv7ahf_vfp alsa-states@colibri_t20 dosfstools@armv7ahf_vfp xhost@armv7ahf_vfp connman-client@armv7ahf_vfp setxkbmap@armv7ahf_vfp iperf@armv7ahf_vfp libgsf@armv7ahf_vfp v4l-utils@armv7ahf_vfp gst-plugins-base-typefindfunctions@armv7ahf_vfp usb-rndis-systemd@all connman@armv7ahf_vfp tegrastats@armv7ahf_vfp xdg-utils@armv7ahf_vfp xserver-common@armv7ahf_vfp xf86-input-mouse@armv7ahf_vfp xvinfo@armv7ahf_vfp gst-plugins-base-audioresample@armv7ahf_vfp gst-plugins-base-decodebin2@armv7ahf_vfp gst-plugins-good-rtpmanager@armv7ahf_vfp gst-plugins-good-audioparsers@armv7ahf_vfp libpcre1@armv7ahf_vfp gst-plugins-good-udp@armv7ahf_vfp gst-plugins-good-rtp@armv7ahf_vfp joe@armv7ahf_vfp mime-support@armv7ahf_vfp bash@armv7ahf_vfp iperf3@armv7ahf_vfp xcursor-transparent-theme@all i2c-tools@armv7ahf_vfp run-postinsts@all openssh-scp@armv7ahf_vfp memtester@armv7ahf_vfp zeroconf@armv7ahf_vfp angstrom-packagegroup-boot@colibri_t20 gst-plugins-good-avi@armv7ahf_vfp unclutter@armv7ahf_vfp crda@armv7ahf_vfp lsof@armv7ahf_vfp libxdamage1@armv7ahf_vfp udev-extraconf-1.1-r0@armv7ahf_vfp openssh-sftp@armv7ahf_vfp libxinerama1@armv7ahf_vfp mtd-utils-ubifs@armv7ahf_vfp gst-plugins-good-wavenc@armv7ahf_vfp xrdb@armv7ahf_vfp xserver-xorg-99:1.14.7-r0@colibri_t20 rpm@armv7ahf_vfp gst-plugins-base@armv7ahf_vfp mtd-utils@armv7ahf_vfp gst-plugins-base-audiotestsrc@armv7ahf_vfp qtsmarthome@armv7ahf_vfp smartpm@armv7ahf_vfp gst-plugins-good-deinterlace@armv7ahf_vfp linux-firmware-ralink@all alsa-utils-amixer@armv7ahf_vfp linux-firmware-rtl8192cu@all packagegroup-basic@colibri_t20 xorg-minimal-fonts@all xserver-xorg-utils@colibri_t20 gst-plugins-base-audioconvert@armv7ahf_vfp qt5-x11-free-systemd@all hdparm@armv7ahf_vfp nbench-byte@armv7ahf_vfp grep@armv7ahf_vfp gstreamer@armv7ahf_vfp gst-plugins-good-autodetect@armv7ahf_vfp hdmi-hotplug@all initscripts@armv7ahf_vfp gst-plugins-base-alsa@armv7ahf_vfp xf86-input-evdev@armv7ahf_vfp libxvmc@armv7ahf_vfp tinymembench@armv7ahf_vfp libpcreposix0@armv7ahf_vfp alsa-utils@armv7ahf_vfp gst-plugins-base-videotestsrc@armv7ahf_vfp gst-plugins-base-vorbis@armv7ahf_vfp file@armv7ahf_vfp xauth@armv7ahf_vfp curl@armv7ahf_vfp gst-plugins-base-playbin@armv7ahf_vfp libxres1@armv7ahf_vfp bzip2@armv7ahf_vfp connman-1.30-r0@armv7ahf_vfp nfs-utils-client@armv7ahf_vfp eglinfo-x11@colibri_t20 sqlite3@armv7ahf_vfp trdx-nv-binaries@colibri_t20 gst-plugins-good-id3demux@armv7ahf_vfp trdx-oak-sensors@armv7ahf_vfp xf86-video-fbdev@armv7ahf_vfp u-boot-toradex-fw-utils@colibri_t20 xserver-xorg-99:1.14.7-r0@colibri_t20 timestamp-service@all stress@armv7ahf_vfp packagegroup-qt5@all trdx-nv-binaries-nv-gstapps@colibri_t20 locale-base-en-us@armv7ahf_vfp' returned 1:
Loading cache...
Updating cache...               ######################################## [100%]

Computing transaction...error: Can't install trdx-nv-binaries-nv-gstapps-1.0-r19@colibri_t20: no package provides libpcreposix.so.3


ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/kai/yocto/build-angstrom-qt5/tmp/work/colibri_t20-poky-linux-gnueabi/angstrom-qt5-x11-image/V2.6.1-r0/temp/log.do_rootfs.3385
ERROR: Task 7 (/home/kai/yocto/poky-toradex/meta-toradex-demos/recipes-images/images/angstrom-qt5-x11-image.bb, do_rootfs) failed with exit code '1'

Any idea ?
Is there such a pre-built image for Colibri-T20 in Toradex developer resources ?

Cheers,

Karim

Hi

I guess that poky does more stringent tests than angstrom as I’m able to build angstrom-qt5-x11-image with the V2.6.1 layer versions.

Unless you really need the trdx-nv-binaries-nv-gstapps which contains CLI tools for playing and recording videos I would propose to remove that package from your image.

e.g. in local.conf:
IMAGE_INSTALL_remove_append = " trdx-nv-binaries-nv-gstapps"

Otherwise you would need to fix this.

Probably one could move the creation of the /usr/lib/libpcre*.so.3 symlinks to the relevant pcre recipes.


No, we do not provide a prebuilt angstrom-qt5-x11-image, not even one built from our regular angstrom setup.

Max

Thanks a lot Max for your feedback.

I have removed the trdx package as I don’t need at all the CLI tools.

The image creation worked fine.

I tried then to launch the Qt Application I wrote.

export DISPLAY = :0

./my_app

But it failed:

QXcbConnection: Could not connect to display :0

Is there something missing in the image ?

Karim

Did you start the X server?

X &
./my_app

Max

Hi Max,

Indeed, X server was not started.
Actually, I wasn’t expecting to start it manually.

I thought that this angstrom image would behave like the images we can find in your website with lxde desktop etc.

When I launch X server and my application, I get some warnings:

6 XSELINUXs still allocated at reset
SCREEN: 0 objects of 256 bytes = 0 total bytes 0 private allocs
DEVICE: 0 objects of 96 bytes = 0 total bytes 0 private allocs
CLIENT: 0 objects of 136 bytes = 0 total bytes 0 private allocs
WINDOW: 0 objects of 32 bytes = 0 total bytes 0 private allocs
PIXMAP: 2 objects of 16 bytes = 32 total bytes 0 private allocs
GC: 4 objects of 16 bytes = 64 total bytes 0 private allocs
CURSOR: 1 objects of 8 bytes = 8 total bytes 0 private allocs
TOTAL: 7 objects, 104 bytes, 0 allocs
2 PIXMAPs still allocated at reset
PIXMAP: 2 objects of 16 bytes = 32 total bytes 0 private allocs
GC: 4 objects of 16 bytes = 64 total bytes 0 private allocs
CURSOR: 1 objects of 8 bytes = 8 total bytes 0 private allocs
TOTAL: 7 objects, 104 bytes, 0 allocs
4 GCs still allocated at reset
GC: 4 objects of 16 bytes = 64 total bytes 0 private allocs
CURSOR: 1 objects of 8 bytes = 8 total bytes 0 private allocs
TOTAL: 5 objects, 72 bytes, 0 allocs
1 CURSORs still allocated at reset
CURSOR: 1 objects of 8 bytes = 8 total bytes 0 private allocs
TOTAL: 1 objects, 8 bytes, 0 allocs
1 CURSOR_BITSs still allocated at reset
TOTAL: 0 objects, 0 bytes, 0 allocs

    wm97xx-ts 0-0:wm9712-codec: No IRQ specified.

That said. My app works fine afterward.
What do you suggest me to lighten the image iun order to keep the main multimedia components (gstreamer and Qt ?)

Cheers,

Karim

Hi

Have a look at the comment on top of the image recipe. This is how the unchanged image launches X and then a demo app.

What do you mean by ‘lighten the image’?

Max

Hi Max,

Actually I wanted to know how to remove unnecessary components from the angstrom-qt5-x11 image to run Qt5 application.

Actually, I built a custom image with Yocto and Qt5 with X11 support.
I have a multimedia application that plays also audio files (mp3, m4a, wav etc). It appears that it did not work with my image and it does work with the angstrom.
I spent weeks on that subject until I realize my Qt5.5 image uses gstreamer1.0 and the angstrom uses gstreamer-0-10.
So I moidifed my Qt5.5 configuration so it uses gstreamer-0.10…and it finally works fine.

Do you already have experienced such an issue on Colibri-Tx platform ?

In addition, do you know if toradex will provided a Qt5.7 image for Tegra and X11 support ?

Anyway, thanks a lot for your precious feedback.

Cheers,

Karim

Have a look here concerning future Qt version support.

Thank you Marcel for this information.
That’s great news.