[yocto] [meta-qt5][meta-raspberrypi]: Qt5 with EGL support for the Raspberry through linux-oe-g++

Andrei Gherzan andrei at gherzan.ro
Thu Apr 21 10:10:55 PDT 2016


Hi Julien,

On Thu, Apr 21, 2016 at 10:15:23AM +0200, Julien Gueytat wrote:
> Just to keep you informed that a bug report has been opened to Qt:
> https://bugreports.qt.io/browse/QTBUG-52739
>
> We might save some patches in layers by solving this,
> Thanks for helping,
>

Great Julien. Here is a hint - would this help your problem?
https://lists.yoctoproject.org/pipermail/yocto/2016-February/028277.html

> Le 20/04/2016 01:46, Julien Gueytat a écrit :
> > Hi again guys,
> >
> > after more investigations:
> >
> > I found out that the default value -lEGL comes from
> > ./mkspecs/common/linux.conf which is included in
> > ./mkspecs/linux-oe-g++/qmake.conf
> >
> > linux-oe-g++ being the only generic mkspecs that should be used in Yocto
> >
> > So! At the time the configuration enters egl.pro the content of the
> > variables LIBS and QMAKE_EGL_LIBS are still a bit weird for me :
> >
> > 1- LIBS already has the content of the QMAKE_EGL_LIBS content from the
> > result of the pkg-config command.
> > 2- QMAKE_EGL_LIBS has the content of the default value found in
> > ./mkspecs/common/linux.conf
> >
> > There are two options to have it properly working:
> > - First and easy option : remove the QMAKE_EGL_LIBS default variable in
> > ./mkspecs/linux-oe-g++/qmake.conf since the good libs seems to already
> > been present in the LIBS variable.
> > - Second option : understand why the LIBS variable is already properly
> > set and why the QMAKE_EGL_LIBS properly computed in the configure and
> > present .qmake.vars is not used. (I would say that the device spec
> > overrides the one from qmake spec... I did not dig further yet.)
> >
> > Anyway I'm pretty sure the trouble comes from meta-qt5 side now. I'm
> > pretty sure meta-raspberrypi maintainers can confirm that their master
> > branch handles pkg-config stuff now.
> >
> > Thanks advance for having a look on this guys,
> > Best Regards
> >
> >
> > Le 19/04/2016 10:46, Julien Gueytat a écrit :
> > > Hi,
> > >
> > > I still can't figure out the patch to apply in meta-qt5 to get EGL
> > > support with the Raspberry.
> > >
> > > The test to check EGL does not pass and fails with the following command:
> > >
> > > arm-poky-linux-gnueabi-g++  -march=armv7-a -marm -mthumb-interwork
> > > -mfloat-abi=hard -mfpu=neon-vfpv4 -mtune=cortex-a7 --sysroot=/home/jgueytat/projects/LightPixels/poky/build/tmp/sysroots/lightpixels
> > > -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-O1 -o egl egl.o
> > > -lGLESv2 -lbcm_host -lvchostif -lvcos -lvchiq_arm -pthread -lEGL
> > >
> > >
> > > Here is the content of the file egl.pro:
> > >
> > > $ cat egl.pro
> > > SOURCES = egl.cpp
> > >
> > > for(p, QMAKE_LIBDIR_EGL) {
> > >     exists($$p):LIBS += -L$$p
> > > }
> > >
> > > message("In egl.pro - 1: QMAKE_LIBS_EGL = $$QMAKE_LIBS_EGL")
> > > message("In egl.pro - 1: LIBS = $$LIBS")
> > >
> > > !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
> > > !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
> > >
> > > message("In egl.pro - 2: QMAKE_LIBS_EGL = $$QMAKE_LIBS_EGL")
> > > message("In egl.pro - 2: LIBS = $$LIBS")
> > >
> > > CONFIG -= qt
> > >
> > > In the main ./configure file of qtbase:
> > >
> > > | In configure #1: QMAKE_LIBS_EGL =
> > > | In configure #2: QMAKE_LIBS_EGL = -lEGL -lGLESv2 -lbcm_host
> > > -lvchostif -lbcm_host -lvcos -lvchiq_arm -pthread
> > >
> > > The variable QMAKE_LIBS_EGL is set properly.
> > >
> > >
> > > In the ./config.tests/qpa/egl/egl.pro file:
> > >
> > > | Project MESSAGE: In egl.pro - 1: QMAKE_LIBS_EGL = -lEGL
> > > | Project MESSAGE: In egl.pro - 1: LIBS = -lEGL -lGLESv2 -lbcm_host
> > > -lvchostif -lvcos -lvchiq_arm -pthread
> > > | Project MESSAGE: In egl.pro - 2: QMAKE_LIBS_EGL = -lEGL
> > > | Project MESSAGE: In egl.pro - 2: LIBS = -lEGL -lGLESv2 -lbcm_host
> > > -lvchostif -lvcos -lvchiq_arm -pthread -lEGL
> > >
> > >
> > > *What I see is that:*
> > > In the configure file the variable QMAKE_LIBS_EGL is properly set
> > > through pkg-config.
> > > In the egl.pro file... The variable LIBS gets the content of
> > > QMAKE_LIBS_EGL and the variable QMAKE_LIBS_EGL gets back to its
> > > default -lEGL.
> > >
> > > In the end with have -lGLESv2 before -lEGL and this does not link.
> > >
> > > I checked also the content of .qmake.vars:
> > > grep QMAKE_LIBS_EGL .qmake.vars
> > > QMAKE_LIBS_EGL = -lEGL -lGLESv2 -lbcm_host -lvchostif -lbcm_host
> > > -lvcos -lvchiq_arm -pthread
> > >
> > >
> > > The command QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL" seems to
> > > have his job done too late...
> > >
> > > If someone has an idea to get the proper correction done...
> > >
> > > Best Regards,
> > > Julien
> > >
> > >
> > >
> >
>

> --
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


--
Andrei Gherzan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160421/f19fe887/attachment.pgp>


More information about the yocto mailing list