Here are my experiences for compiling Qt5.3.0-beta1 on Yocto. Special thanks to Martin Jansa, the maintainer of the meta-qt5 layer and his help on this. My original procedure was based on this tutorial: Building Qt5 using yocto on Wandboard - Wandboard Wiki
Qt5.3 contains a nice new plugin that allows the use of gstreamer output for textures without the CPU intensive step of copying them (Gerrit Code Review). This allows to play even full HD videos and apply all the power of Qt5 (e.g. shaders) to them.
-u https://github.com/Freescale/fsl-community-bsp-platform
-b master-next; repo sync
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index dfc1c76..a2f9a73 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -54,6 +54,7 @@ FILES_${PN}-tools-dbg = " \
"
FILES_${PN}-plugins-dbg = " \
${OE_QMAKE_PATH_PLUGINS}/*/.debug/* \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/.debug/* \
"
# extra packages
@@ -98,6 +99,7 @@ FILES_${PN}-tools = " \
"
FILES_${PN}-plugins = " \
${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
"
FILES_${PN}-mkspecs = "\
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
Define your machine:
export MACHINE=xxx
(replace with your board)
${BSPDIR}/sources/meta-openembedded/meta-ruby \
${BSPDIR}/sources/meta-qt5 \
DISTRO_FEATURES_remove = "x11 wayland"
IMAGE_INSTALL_append = " \
firmware-imx-vpu-imx6q \
firmware-imx-vpu-imx6d \
"
IMAGE_INSTALL_append = " \
cpufrequtils \
nano \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
gstreamer \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
cinematicexperience \
"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
QT5_VERSION = "5.2.1+5.3.0-beta1+git%"
PREFERRED_VERSION_qtbase-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtbase = "${QT5_VERSION}"
PREFERRED_VERSION_qtdeclarative = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtquickcontrols = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtserialport = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
This image will build QT5.3 for framebuffer. If you want to use it with X11, then adapt according to this tutorial: Integrate Qt5 into yocto sato image on Wandboard - Wandboard Wiki
Please tell me, if I missed something. I wrote this as I remembered the steps.
Fir I'd like to thank you for you description how to build Qt 5.3 for imx6
but I am getting an error when trying your guide.
I started from scratch and did everything as you describe.
But i get an error for qtxmlpatterns saying:
ERROR: QA Issue: qtxmlpatterns: The compile log indicates that host include and/or library paths were used.
Please check the log '/home/devuser/yocto/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtxmlpatterns/5.2.1+5.3.0-beta1+gitAUTOINC+d25091bb8b-r0/temp/log.do_compile' for more information.
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /home/devuser/yocto/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/qtxmlpatterns/5.2.1+5.3.0-beta1+gitAUTOINC+d25091bb8b-r0/temp/log.do_package.28091
ERROR: Task 1589 (/home/devuser/yocto/sources/meta-qt5/recipes-qt/qt5/qtxmlpatterns_git.bb, do_package) failed with exit code '1'
if i look into the generated Makefile i can see a -L/usr/lib in LDFLAGS.
I removed that and did a bitbake qtxmlpatterns -f -c compile and then a bitbake qtqmlpatterns
this succeeds then and i can continue bitbaking the image.
probably i should have deleted the generated .so, so it is linked without -L/usr/lib, but i am not using qtxmlpatterns right now.
But i have no clue how the -L/usr/lib comes into the Makefile in LDFLAGS only for qtxmlpatterns module, i searh all files and *.pri and *.pro but have not found anything.
I am still bakingthe image now , so i dont know if will succeed in the end.
Best regards,
Gunnar
The git reposiitory is a moving target. Guess, it would have been best to pin it to a specific commit that I used.
I tried to reproduce the problem, but the current version from git gives me other problems already in the configure step of qtbase.
When I have a running version, I will change the recipe to the specific commit.
ok now i am also getting this for qtdeclarative. this was compiled before but somehow it started getting a new version from git,
i workaround that by doing
bitbake qtdeclarative -f -c compile
and then continuing, that will create a clean compile log as everything is compiled already so the QA dtetction will be tricked into thinking there is no problem.
It seems that are some very strange things happening in this repo. I had a backup from my old compile (only the sources folder) and checked the git revision that I checked out for this howto. It was 0c114f4bcf6bdf5b959ff8821bbbbff2dd1cdccf.
Looking at a new git clone, this commit no longer exists! Something strange is happening here.
Gunnar,
could you try
git checkout 92be18a3a14deed9d38b8fc6e89f09ba4d730597
And then add the patch from me.
This was the version I used (successfully). With the next commit, I get configure problems.
I will now see, If I can reproduce your problem.
Btw. which revision are you using exactly?
m ynext problem was qtlocation, it tries to build the 5.2.1 versin which fails.
i had to add
PREFERRED_VERSION_qtlocation = "${QT5_VERSION}"
to my local.conf.
but then it failed because of license md5 check. i had to copy the license checksum entries from qtsensers_git.bb to qtlocation_git.bb.
then it fails with the known ERROR: QA Issue: qtlocation: The compile log indicates that host include and/or library paths were used.
this i workaround as written above.
continue baking ...
Well, I just tried with the revision 92be18a3a14deed9d38b8fc6e89f09ba4d730597, and I could bake all my modules without problems. I checked qtxmlpatterns, but I do not use qtlocation.
I never had your problem. What is the host you are crosscompiling on?
ubuntu 12.04 32 bit vm
i also didnt explictly enable qtlocation. this is my local.conf
B_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
DISTRO_FEATURES_remove = "x11 wayland"
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh tools-profile dbg-pkgs tools-debug"
IMAGE_INSTALL_append = " \
firmware-imx-vpu-imx6q \
firmware-imx-vpu-imx6d \
"
IMAGE_INSTALL_append = " \
cpufrequtils \
nano \
gdb \
openssh-sftp-server \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
gstreamer \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtquickcontrols-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
cinematicexperience \
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf \
"
PACKAGECONFIG_append_pn-qtbase = " accessibility gles2 openssl"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
TOOLCHAIN_HOST_TASK_append = " nativesdk-python-subprocess"
QT5_VERSION = "5.2.1+5.3.0-beta1+git%"
PREFERRED_VERSION_qtbase-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtbase = "${QT5_VERSION}"
PREFERRED_VERSION_qtdeclarative = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtquickcontrols = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtserialport = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
PREFERRED_VERSION_qtlocation = "${QT5_VERSION}"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
PACKAGECONFIG_pn-qemu-native = "sdl"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 4'
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
Hmm, similar to me except I'm using 64bit.
But honestly, I have never seen your error message "ERROR: QA Issue: qt...: The compile log indicates that host include and/or library paths were used."
What meta-qt5 git revision have you checked out? Maybe this makes a difference.
Hmm, I'm not a Yocto expert. Just started my work with it. But it seems to be you did not checkout "master-next" for the yocto repo, but you use "dora". I'm not saying that this makes the difference. I have just noted.
What image do you build? core-image-minimal?
Otherwise, there is not much that comes to my mind. Maybe some other Yocto expert can comment on this.
i have fea4eb8fe57fb5dd52ead5a351d4ec0940301443
with this changes:
devuser@ubuntu:~/yocto/sources/meta-qt5$ git diff fea4eb8fe57fb5dd52ead5a351d4ec0940301443
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index dfc1c76..a2f9a73 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -54,6 +54,7 @@ FILES_${PN}-tools-dbg = " \
"
FILES_${PN}-plugins-dbg = " \
${OE_QMAKE_PATH_PLUGINS}/*/.debug/* \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/.debug/* \
"
# extra packages
@@ -98,6 +99,7 @@ FILES_${PN}-tools = " \
"
FILES_${PN}-plugins = " \
${OE_QMAKE_PATH_PLUGINS}/*/*${SOLIBSDEV} \
+ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \
"
FILES_${PN}-mkspecs = "\
${OE_QMAKE_PATH_ARCHDATA}/mkspecs \
diff --git a/recipes-qt/qt5/qtbase.inc b/recipes-qt/qt5/qtbase.inc
index 89736be..f23236a 100644
--- a/recipes-qt/qt5/qtbase.inc
+++ b/recipes-qt/qt5/qtbase.inc
@@ -126,7 +126,6 @@ PACKAGECONFIG[nis] = "-nis,-no-nis"
PACKAGECONFIG[widgets] = "-widgets,-no-widgets"
QT_CONFIG_FLAGS += " \
- -reduce-relocations \
-shared \
-silent \
-no-pch \
diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb
index d1d2575..87ad63d 100644
--- a/recipes-qt/qt5/qtlocation_git.bb
+++ b/recipes-qt/qt5/qtlocation_git.bb
@@ -2,3 +2,10 @@ require qt5-git.inc
require ${PN}.inc
SRCREV = "9cbddccc24cdd4b51285ea9ecbf851f3eba2cd31"
+
+# older copyright year than what e.g. qtbase is using now
+LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
+ file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
+ file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
+ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
+
O.K., so now I fixed my configure problem with the latest version. Gunnar actually had the solution already in his changes:
--- a/recipes-qt/qt5/qtbase.inc
+++ b/recipes-qt/qt5/qtbase.inc
@@ -126,7 +126,6 @@ PACKAGECONFIG[nis] = "-nis,-no-nis"
PACKAGECONFIG[widgets] = "-widgets,-no-widgets"
QT_CONFIG_FLAGS += " \
- -reduce-relocations \
-shared \
-silent \
-no-pch \
So, now I indeed get the same "ERROR: QA Issue: qt...: The compile log indicates that host include and/or library paths were used." error.
I don't know where the problem comes from, but I recommend you use revision 92be18a3a14deed9d38b8fc6e89f09ba4d730597, which is a bit older, but otherwise works without problems.
hi,
i found out adding WARN_QA="compile-host-path libdir" to local.conf suppresses the QA errors. but only after doing
bitbake <package> -f -c compile
the baked image runs fine. the only thing is that Qt5CinenmaticExperince does not run, because 5.3 has problems with the property name onText in Switch.qml. It seems as if onXXX is reserved for signal handler names now.
changing it to _onText everywhere it is used , makes the demo working again.
creating a toolchain with
bitbake meta-toolchain-qt5
needs some more entries in local.conf and some additional license hash copy paste actions, because the toolchain contains more qt packages than the image.
here my local.conf with debug symbols and gdb on device.
BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
MACHINE ??= 'imx6qsabresd'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
DISTRO_FEATURES_remove = "x11 wayland"
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh tools-profile dbg-pkgs tools-debug"
IMAGE_INSTALL_append = " \
firmware-imx-vpu-imx6q \
firmware-imx-vpu-imx6d \
"
IMAGE_INSTALL_append = " \
cpufrequtils \
nano \
gdb \
openssh-sftp-server \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
gstreamer \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtquickcontrols-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-examples \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
cinematicexperience \
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf \
"
PACKAGECONFIG_append_pn-qtbase = " accessibility gles2 openssl"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"
TOOLCHAIN_HOST_TASK_append = " nativesdk-python-subprocess"
QT5_VERSION = "5.2.1+5.3.0-beta1+git%"
PREFERRED_VERSION_qtbase-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtbase = "${QT5_VERSION}"
PREFERRED_VERSION_qtdeclarative = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend = "${QT5_VERSION}"
PREFERRED_VERSION_qtjsbackend-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtquickcontrols = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtserialport = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
PREFERRED_VERSION_qtlocation = "${QT5_VERSION}"
PREFERRED_VERSION_qttools = "${QT5_VERSION}"
PREFERRED_VERSION_qtconnectivity = "${QT5_VERSION}"
PREFERRED_VERSION_nativesdk-qtbase = "${QT5_VERSION}"
WARN_QA="compile-host-path libdir"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
PACKAGECONFIG_pn-qemu-native = "sdl"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 4'
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
Are there any changes in the steps that are being posted with the latest qt5 revision from git?
Sorry, I cannot say. I am still using 92be18a3a14deed9d38b8fc6e89f09ba4d730597, as this works flawlessly for me with the original recipe.
So after step git clone -b jansa/qt5-5.3.0-beta1 https://github.com/meta-qt5/meta-qt5.git, I need to try git checkout 92be18a3a14deed9d38b8fc6e89f09ba4d730597 and proceed with the same as described?
Hope it will not have any problems in Qtlocation as I need to use the qtlocation module.
Yeah, that should be the steps.
I can't comment on QtLocation as I am not using it. I only use Qtbase and QtMultimedia.
Otherwise, you can try with the steps posted from Gunnar.
Yes it bit-bakes with these steps without any problems.
Please let me know steps to build and test sample Qt app as the default Qt5_CinematicExperience
didnot run properly with output white screen.
if you would have read my comments above you would have found:
the baked image runs fine. the only thing is that Qt5CinenmaticExperince does not run, because 5.3 has problems with the property name onText in Switch.qml. It seems as if onXXX is reserved for signal handler names now.
changing it to _onText everywhere it is used , makes the demo working again.
creating a toolchain with
bitbake meta-toolchain-qt5
needs some more entries in local.conf and some additional license hash copy paste actions, because the toolchain contains more qt packages than the image.
so bitbaking meta-toolchain-qt5 gives you a toolchain with qt5 included.
to build you own app is then just a matter of setting up the environment with the script of the toolchain and doing qmake and make.
I'm getting below error even after adding "qtquickcontrols-qmlplugins \" to local.conf
ERROR: Unable to install packages. Command '/home/kishore/meta-qt-toolchain/fsl-community-bsp/build/tmp/sysroots/i686-linux/usr/bin/smart --data-dir=/home/kishore/meta-qt-toolchain/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.6+snapshot/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/var/lib/smart install -y packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all' returned 1:
Loading cache...
Updating cache... ######################################## [100%]
Computing transaction...error: Can't install packagegroup-qt5-toolchain-target-1.0-r0@all: no package provides qtquickcontrols-qmlplugins
ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/kishore/meta-qt-toolchain/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.6534
ERROR: Task 7 (/home/kishore/meta-qt-toolchain/fsl-community-bsp/sources/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
I am using the meta-qt5 branch from git.
Though I check wout with Revision 92be18a3a14deed9d38b8fc6e89f09ba4d730597, it gives below error on my build system.
ERROR: Logfile of failure stored in: /home/ramakanth/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-mx6-poky-linux-gnueabi/qtbase/5.2.1+5.3.0-beta1+gitAUTOINC+207598fd8e-r0/temp/log.do_configure.29906
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function qmake5_base_preconfigure
| DEBUG: Shell function qmake5_base_preconfigure finished
| DEBUG: Executing shell function do_configure
|
| This is the Qt Open Source Edition.
|
| You are licensed to use this software under the terms of
| the Lesser GNU General Public License (LGPL) versions 2.1.
| You are also licensed to use this software under the terms of
| the GNU General Public License (GPL) versions 3.
|
| You have already accepted the terms of the Open Source license.
|
| Performing shadow build...
| Preparing build tree...
| arm-poky-linux-gnueabi-g++ -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/home/ramakanth/fsl-community-bsp/build/tmp/sysroots/imx6qsabreauto -c -fvisibility=hidden fvisibility.c
| Symbol visibility control enabled.
| arm-poky-linux-gnueabi-g++ -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/home/ramakanth/fsl-community-bsp/build/tmp/sysroots/imx6qsabreauto -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
| bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
| #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."
| ^
| Symbolic function binding disabled.
| -reduce-relocations was requested but this compiler does not support it
| Re-run configure with -v for more information
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/ramakanth/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-mx6-poky-linux-gnueabi/qtbase/5.2.1+5.3.0-beta1+gitAUTOINC+207598fd8e-r0/temp/log.do_configure.29906)
ERROR: Task 680 (/home/ramakanth/fsl-community-bsp/sources/meta-qt5/recipes-qt/qt5/qtbase_git.bb, do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 1089 tasks of which 31 didn't need to be rerun and 1 failed.
Waiting for 0 running tasks to finish:
Summary: 1 task failed:
/home/ramakanth/fsl-community-bsp/sources/meta-qt5/recipes-qt/qt5/qtbase_git.bb, do_configure
Summary: There were 3 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
Please let me know if there is a workaround for the same
The above error is thrown when I did bitbake meta-toolchain-qt5
I don't use the toolchain, as I build my app directly in yocto.
But if you get this error, then remove the line containing "-reduce-relocations" from the following files:
recipes-qt/qt5/nativesdk-qtbase.inc | |
recipes-qt/qt5/qtbase.inc |
am getting below error even after adding qtquickcontrols-qmlplugins to local.conf. Please let me know how to resolve this.
ERROR: Unable to install packages. Command '/home/ramakanth/fsl-community-bsp/build/tmp/sysroots/i686-linux/usr/bin/smart --data-dir=/home/ramakanth/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/sdk/image/opt/poky/1.6+snapshot/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/var/lib/smart install -y packagegroup-core-standalone-sdk-target-dbg@all packagegroup-core-standalone-sdk-target@all packagegroup-qt5-toolchain-target@all' returned 1:
Loading cache...
Updating cache... ######################################## [100%]
Computing transaction...error: Can't install packagegroup-qt5-toolchain-target-1.0-r0@all: no package provides qtquickcontrols-qmlplugins
ERROR: Function failed: do_populate_sdk
ERROR: Logfile of failure stored in: /home/ramakanth/fsl-community-bsp/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/meta-toolchain-qt5/1.0-r0/temp/log.do_populate_sdk.5288
ERROR: Task 7 (/home/ramakanth/fsl-community-bsp/sources/meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb, do_populate_sdk) failed with exit code '1'
I removed qtquickcontrols-qmlplugins from local.conf and packagegroup-qt5-toolchain-target to get rid of the above error. It generated
poky-eglibc-i686-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.6+snapshot.sh in /tmp/deploy/sdk. Please let me know if we run the script, where exactly qmake will be generated so that I would like to build my app.
I got below error when I run bitbake core-image-minimal..However, bitbake meta-toolchain-qt5 was successful and qmake is generated.
Probably it has sth to do picking the latest git version.
Error..qtquickcontrols not found in the base feeds.
Please let me know if there is a workaround for the same.
I just wanted to say thanks. These posts were extremely helpful in getting 5.3 running on the Wandboard.
I've tested QML video with rotating text over top and the CPU usage dropped from 90% in Qt 5.2.1 to 35% in Qt 5.3 beta. Clearly the VPU is being used now along with the GPU.
Cheers!
If I want to build my app directly in Yocto, where do I need to keep the app sources?
Do I need to mention in local.conf as building through toolchain is not working fine
You need to add a recipe for your app. Have a look at the cinematicexperience recipe. You can copy it, rename it and adapt to your app.
Iam bitbaking but at the end throws below qtquickcontrols error..Atleast in the earlier recipes, this problem didnot occur..
ERROR: qtquickcontrols not found in the base feeds
ERROR: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/kishore/Yocto_Qt/fsl-community-bsp/build/tmp/work/imx6qsabreauto-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_rootfs.28549
ERROR: Task 7 (/home/kishore/Yocto_Qt/fsl-community-bsp/sources/poky/meta/recipes-core/images/core-image-minimal.bb, do_rootfs) failed with exit code '1'
Do you need qtquickcontrols? If not, a simple solution is, to remove it from your local.conf.
If you need it, you will need to investigate, why it is not built.
Yes I do need qtquickcontrols using splitview qtquickcontrol in my app.. Seems it is a known issue as mentioned in https://community.freescale.com/thread/324000
As i see in qtbase.inc, accessibility is required to compile qtquickcontrols..
I did mention PACKAGECONFIG_append_pn-qtbase = " accessibility gles2 openssl" in local.conf but still the problem is seen.
For now, removing from local.conf..Is it possible to compile qtquickcontrols source separately later? If so, please let me know the steps
Removing qtquickcontrols from local.conf created the image successfully.
so bitbaking meta-toolchain-qt5 created a toolchain with qt5 included.
I tried to set up the environment with the script of the toolchain setting qmake path to /opt/poky/1.6+snapshot/sysroots/i686-pokysdk-linux/usr/bin/qt5.
But QMAKE_SPEC takes invalid conf i.e. /fsl-community-bsp/build/tmp/sysroots/i686-linux/usr/lib/qt5/mkspecs/linux-oe-g++ which throws an error make:c command not found while building the sample app.
Please let me know how to setup the path and correct sysroot.
Build does not compiled. In Makefiles of qt* packages set wrong library path(/usr/lib instead $(sysroot)//usr/lib). If fixed it packages build, but on board examples programs corrupt with Segmentation Fault message.
Anybody created working build?
Where in Makefile were the library paths set to /usr/lib instead of [sysroot]/usr/lib?
For example in Makefiles in qtxmlpatterns, qtdeclarative, qtwebkit.
Library path set in it by "-L/usr/lib".
find . -name "Makefiles*" -exec grep "-L/usr/lib" '{}' \;
show this.
In qt* 5.1.1 and qt 5.2.1 I have no this problem? but in it examples browsers does not show any html5 videos
That patch needs to be updated for 5.3.0. I'm looking into this but I'm new to mkspecs and qmake, so any advice is welcome.
See also:
https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg36039.html
I have got a build working for the wandboard here if anyone is interested:
You will need to add the qt5-5.3.0 branch to the fsl-community-bsp daisy branch. Also add this to your local.conf:
DISTRO_FEATURES_remove = "x11 wayland"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010 "
Then bitbake wandboard-image-qt5. You can test HDMI video playback with gplay or gst-launch:
gst-launch filesrc location=video.m4v typefind=true \
! aiurdemux \
! vpudec \
! mfw_v4lsink
I've also tested video in QML and hardware video acceleration seems to work fine. The only issue was that I had to run the following command to display video correctly:
echo -n 32 > /sys/class/graphics/fb0/bits_per_pixel
This may just be a QML or Qt setting that I missed. Anyway, video worked fine, as did some simple text animations.
Please try to play html5 video in examples test browsers. Is it work?
In my build qt 5.1.1 qml video players work fine, but WebKit show video controls and first frame from video for WebM(from w4c.org site for example), from youtube I see player controls and download circle.
In console i see this messages from Gstreamer like this:
Qt Warning: Could not find a location of the system's Compose files. Consider setting the QTCOMPOSE environment variable.
libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
Received finished signal while progress is still: 10 Url: QUrl( "http://qt-project.org/" )
Aiur: 3.0.11
Core: MPEG4PARSER_06.07.04 build on Dec 5 2013 11:41:38
mime: video/quicktime; audio/x-m4a; application/x-3gp
file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2
Content Info:
URI:
https://r1---sn-8xb5-px8e.googlevideo.com/videoplayback?ip=212.90.165.14&require
ssl=yes&mws=yes&source=youtube&upn=4-tA0Ie6tDA&mv=m&sparams=id,ip,ipbits,itag,ra
tebypass,requiressl,source,upn,expire&key=yt5&ipbits=0&mt=1401803916&id=o-ABczKx
qqFwtM_XhBgSvGnsGqyiHL18Wy6SqK0BZepcFQ&signature=121A2CB3142FB772CD72A9F1D872603
C749A2B74.0370EDFC498A96A43C8F8A98C10184E14158A0D2&sver=3&ratebypass=yes&expire=
1401827798&ms=au&fexp=908548,912321,913434,916611,923341,926122,930008&itag=18&c
pn=VgAqvxj2iI2hp45w&ptk=youtube_none&pltype=contentugc&c=WEB&cver=html5
Seekable : Yes
Size(byte): 32830110
Movie Info:
Seekable : Yes
Live : No
Duration : 0:11:52.503360000
ReadMode : Track
Track : 2
Track 00 [video_000000] Enabled
Duration: 0:11:52.503360000
Language: und
Mime:
video/x-h264, parsed=(boolean)true, width=(int)640, height=(int)360, framerate=(
fraction)24000/1001
Track 01 [audio_000000] Enabled
Duration: 0:11:52.503360000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)44100, bitrate=(int)9
6000, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)121000
00000000000000000000000000
Beep: 3.0.11
Core: AAC decoder Wrapper build on Jan 22 2014 15:42:53
mime: audio/mpeg, mpegversion=(int){2,4}
file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3
CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.07.00_CORTEX-A8 build on Sep 18 2013 10:29:53.
[--->FINALIZE aiurdemux
Iam getting QtQuickcontrols Not found in base feeds error after adding the qt5-5.3.0 branch to the fsl-community-bsp daisy branch.
Please let me know local.conf to see if anything is missing incase you have added qtquickcontrols and any dependecy.
add qtquick1 into IMAGE_INSTALL_append
Is the below local.conf good enough apart from adding qtquick1:
BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
MACHINE ??= 'imx6qsabreauto'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K"
PACKAGECONFIG_pn-qemu-native = "sdl"
ASSUME_PROVIDED += "libsdl-native"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '4'
PARALLEL_MAKE = '-j 4'
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = ""
DISTRO_FEATURES_remove = "x11 wayland"
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh tools-profile dbg-pkgs tools-debug"
PACKAGECONFIG_append_pn-qtbase= "accessibility gles2 openssl"
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
IMAGE_INSTALL_append = " \
firmware-imx-vpu-imx6q \
firmware-imx-vpu-imx6d \
"
IMAGE_INSTALL_append = " \
cpufrequtils \
binutils \
nano \
gdb \
openssh-sftp-server \
packagegroup-fsl-gstreamer \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
gstreamer \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtbase-examples \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-examples \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-examples \
qtmultimedia-qmlplugins \
qtlocation \
qtlocation-plugins \
qtlocation-qmlplugins \
qtlocation-examples \
qtsvg \
qtsvg-plugins \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-examples \
qt3d-qmlplugins \
qt3d-tools \
qtwebkit \
qtwebkit-qmlplugins \
qtconnectivity \
qtconnectivity-examples \
qtconnectivity-qmlplugins \
qtserialport \
qtquickcontrols \
qtquickcontrols-qmlplugins \
cinematicexperience \
ivi \
cairo pango fontconfig freetype pulseaudio dbus zlib \
alsa-lib alsa-tools alsa-state alsa-utils-alsaconf \
tslib evtest tslib-conf tslib-tests tslib-calibrate \
gcc g++ libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev \
"
WARN_QA="compile-host-path libdir"
It's build ok, but examples, such as multimediawidgets/player, multimediawidgets/videowidget doesn't play video, qtwebkit/browser, qtwebkit/youtubeview qtwebkit/fanicybrowser does't support HTML5 video and play it.
In 5.1.1 version video is play video in upper players, browsers support HTML5 video, but doesn't play it.
Have you any ideas?
I have not had a chance to look at the examples yet. The big change in 5.3.0 is the way QML renders video (now using hardware decoding).
Since the video works fine in QML, either the examples are not building correctly or the way that the examples play video is now obsolete. My first guess would be to look at the examples code and see the way that they are rendering the video.
I will post again if I have a chance to look at this, though it will probably not be this week.
Many thanks to Michael Banditt for his work getting 5.3.0 beta running. (not to mention Otavio and Martin Jansa for maintaining the meta-qt5 branch).
I seem to be hijacking these comments, so I've created my own document. Anyone interested in chatting about 5.3.0 release can do so here:
Qt 5.3.0 release on i.MX6 using fsl-community-bsp and meta-qt5
Hi my name is Lucas and im new in embedded aplications , i follow all the wiki about how to create a yocto whit qt and how to get a sdk for my qt , but now when i try to compile some features like
QtQuick.Controls 1.2 ,Quick.Controls.Private 1.0, QtQuick.Controls.Styles 1.1 in QML is not working .
Whre could be the possible reason? and how to solve it ?
Thanks
Lucas
Dear Ramakanth , i[m getting the same problem that you related in your post and id like to know if you already found a solution for that
Thanks
Lucas Prado Rocha
I got exatctly the same error, however I am not able to find anyline with "-reduce-relocations" in nativesdk-qtbase.inc or qtbase.inc. Is there any other way how to resolve this ?
HI all,
In repository meta-qt5/meta-qt5 · GitHub is absent branch jansa/qt5-5.3.0-beta1.
What branch I should take instead?
Thanks!