[oe] [meta-qt5][PATCH v5] Upgrade to Qt 5.8

Johannes Pointner h4nn35.work at gmail.com
Fri Jan 27 10:11:47 UTC 2017


I'm building for i.MX6. The problem is that the build is failing
because the egl CFLAGS are not set:

| In file included from
/mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/sysroots/ppt50/usr/include/EGL/eglplatform.h:38:0,
|                  from
/mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/sysroots/ppt50/usr/include/EGL/egl.h:39,
|                  from
../../../include/QtEglSupport/5.8.0/QtEglSupport/private/../../../../../../git/src/platformsupport/eglconvenience/qt_egl_p.h:63,
|                  from
../../../include/QtEglSupport/5.8.0/QtEglSupport/private/qt_egl_p.h:1,
|                  from
/mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0/git/src/platformsupport/eglconvenience/qeglstreamconvenience_p.h:55,
|                  from
/mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0/git/src/platformsupport/eglconvenience/qeglstreamconvenience.cpp:40:
| /mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/sysroots/ppt50/usr/include/EGL/eglvivante.h:266:2:
error: #error "Platform not recognized"
|  #error "Platform not recognized"

This flags are used inside the eglvivante.h to get the correct
platform. There is a pkconfig file which defines them: Cflags:
-I${includedir} -DLINUX -DEGL_API_FB -DWL_EGL_PLATFORM

Before the update to Qt5.8 there were a patch for the configure file
to set these variables:

+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
+ QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed
-e 's,^-I,,g' -e 's, -I, ,g'`
+ QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
+ QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
+ QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
+ QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
+ QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e
's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
+ fi

This patch was removed, so my question is how should this work now?
A workaround is to set this variables in the linux-oe-g++.
I also tried to use the device option: -device linux-imx6-g++ but this
failed with the following error even if the path was correct.

| Project ERROR: CROSS_COMPILE needs to be set via -device-option
CROSS_COMPILE=<path>
| Could not read qmake configuration file
/mnt/raid/yocto_env/poky/morty/ppt50/build/tmp/work/cortexa9hf-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.8.0+gitAUTOINC+49dc9aa409-r0/git/mkspecs/devices/linux-imx6-g++/qmake.conf.



2017-01-27 10:06 GMT+01:00 Samuli Piippo <samuli.piippo at gmail.com>:
> On 01/26/2017 05:22 PM, Johannes Pointner wrote:
>>
>> Did you also see the issue with the QMAKE_INCDIR_EGL, QMAKE_LIBS_EGL
>> and QMAKE_CFLAGS_EGL variables?
>
>
> What's the target and configuration you using for the build and what's the
> actual error you are seeing?
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list