[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