[oe] [meta-qt5] Building and running issues on Raspberry Pi

Felix01 Fischer felix01.fischer at iav.de
Tue May 13 10:36:19 UTC 2014


Hello,
I'm trying to get Qt5 running on a raspberry pi using yocto and I'm facing 
two problems:
I'm using up to date layers from poky, meta-raspberrypi and meta-qt5

First, I have to add the following to local.conf (or a 
qtbase_5.X.Y.bbappend file)

QT_CONFIG_FLAGS += " \
    -device linux-rasp-pi-g++ \
    -device-option 
CROSS_COMPILE=$PATH_TO_SYSROOT_DIR/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- 
\
    -I$PATH_TO_SYSROOT_DIR/raspberrypi/usr/include/interface/vcos/pthreads 
\
"

then I get the following error while "bitbake qtbase":

"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 have already accepted the terms of the  license.

Performing shadow build...
Preparing build tree...
Symbol visibility control disabled.
-o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c
/media/yocto_build/qt5-raspb/build/tmp/work/raspberrypi-poky-linux-gnueabi/qtbase/5.2.1-r0/qtbase-opensource-src-5.2.1/config.tests/unix/bsymbolic_functions.test: 
line 14: -o: command not found
Symbolic function binding disabled.
-reduce-relocations was requested but this compiler does not support it
Re-run configure with -v for more information
WARNING: 
/media/yocto_build/qt5-raspb/build/tmp/work/raspberrypi-poky-linux-gnueabi/qtbase/5.2.1-r0/temp/run.do_configure.5533:1 
exit 1 from
 
/media/yocto_build/qt5-raspb/build/tmp/work/raspberrypi-poky-linux-gnueabi/qtbase/5.2.1-r0/qtbase-opensource-src-5.2.1/configure 
-v -dont-process -opensource -confirm-license -sysroot 
/media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi 
-no-gcc-sysroot -prefix /usr -bindir /usr/bin/qt5 -libdir /usr/lib 
-datadir /usr/share/qt5 -sysconfdir /etc/qt5 -docdir /usr/share/doc/qt5 
-headerdir /usr/include/qt5 -archdatadir /usr/lib/qt5 -libexecdir 
/usr/lib/qt5/libexec -plugindir /usr/lib/qt5/plugins -importdir 
/usr/lib/qt5/imports -qmldir /usr/lib/qt5/qml -translationdir 
/usr/share/qt5/translations -testsdir /usr/share/qt5/tests -examplesdir 
/usr/share/qt5/examples -hostbindir /usr/bin/qt5 -hostdatadir 
/media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/lib/qt5 
-external-hostbindir 
/media/yocto_build/qt5-raspb/build/tmp/sysroots/x86_64-linux/usr/bin/qt5 
-platform 
/media/yocto_build/qt5-raspb/build/tmp/sysroots/x86_64-linux/usr/lib/qt5/mkspecs/linux-oe-g++ 
-xplatform linux-oe-g++ -reduce-relocations -shared -silent -no-pch 
-no-rpath -pkg-config -no-accessibility -no-alsa -dbus -directfb -evdev 
-nomake examples -no-fontconfig -freetype -opengl desktop -no-eglfs 
-opengl es2 -eglfs -no-glib -no-gtkstyle -no-iconv -no-icu -system-libjpeg 
-no-kms -system-libpng -make libs -linuxfb -no-mitshm -no-mtdev -no-nis 
-openssl-linked -no-openvg -qt-pcre -pulseaudio -release -no-sm 
-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc 
-no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -nomake tests 
-make tools -tslib -libudev -widgets -no-xcb -no-xcursor -no-xfixes 
-no-xinerama -no-xinput -no-xinput2 -no-xkb -no-xrandr -no-xrender 
-no-xshape -no-xsync -no-xvideo -system-zlib -device linux-rasp-pi-g++ 
-device-option 
CROSS_COMPILE=/media/yocto_build/qt5-raspb/build/tmp/sysroots/x86_64-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- 
-I/media/yocto_build/qt5-raspb/build/tmp/sysroots/raspberrypi/usr/include/interface/vcos/pthreads
ERROR: Function failed: do_configure (log file is located at 
/media/yocto_build/qt5-raspb/build/tmp/work/raspberrypi-poky-linux-gnueabi/qtbase/5.2.1-r0/temp/log.do_configure.5533)"



A look into 
build/tmp/work/raspberrypi-poky-linux-gnueabi/qtbase/5.2.1-r0/qtbase-opensource-src-5.2.1/config.tests/unix/bsymbolic_functions.test

tells me that the "COMPILER" and "SYSROOT_FLAG" variables are empty. I 
don't know what to do here.
My workaround is to remove "-reduce-relocations" from QT_CONFIG_FLAGS in 
qtbase.inc

After that the build succeeds without problems.
But, when I boot up my image and try to run a Qt5 Application from the 
console I always get the same error:

"EGLFS: Unable to query physical screen size, defaulting to 100 dpi.
EGLFS: To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and 
QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
libpng warning: iCCP: Not recognizing known sRGB profile that has been 
edited 
EGL Error : Could not create the egl surface: error = 0x300b"

I'm stuck with this error and don't really know what to do.

Kind regards,

Felix Fischer

Student Employee (VC-I42)
Vehicle Cockpit - HMI Software and Code generation

IAV GmbH
Carnotstr. 1
10587 BERLIN
GERMANY

Phone: +49 30 3997-89540
Fax:       +49 30 3997-89411
E-Mail:  <mailto:felix01.fischer at iav.de>
Internet: http://www.iav.com

Sitz/Registered Office: Berlin, 
Registergericht/Registration Court: Amtsgericht Charlottenburg, 
Registernummer/Company Registration Number: HRB 21 280, 
Geschäftsführer/Managing Directors: Kurt Blumenröder, Michael Schubert, 
Dr. Rüdiger Goyk
Vorsitzender des Aufsichtsrates/Chairman of the Supervisory Board: Dr. 
Harald Ludanek


More information about the Openembedded-devel mailing list