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

Julien Gueytat contact at jgueytat.fr
Tue Apr 19 01:46:11 PDT 2016


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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20160419/a91e7a3e/attachment.html>


More information about the yocto mailing list