diff mbox series

qt4-imx-support: fix build for imxgpu2d SOCs

Message ID 20220928141047.31598-1-m.salvini@koansoftware.com
State New
Headers show
Series qt4-imx-support: fix build for imxgpu2d SOCs | expand

Commit Message

Mauro Salvini Sept. 28, 2022, 2:10 p.m. UTC
Before this change, when imxgpu2d is selected, the qt4 do_configure
fails with the following error:

| EGL (EGL/egl.h) auto-detection... ()
| compiling egl.cpp
...
| /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10: fatal error: X11/Xlib.h: No such file or directory
|   150 | #include <X11/Xlib.h>
|       |          ^~~~~~~~~~~~
| compilation terminated.
| Makefile:178: recipe for target 'egl.o' failed
| make: *** [egl.o] Error 1
| EGL (EGL/egl.h) disabled.
| EGL (GLES/egl.h) auto-detection... ()
...
| /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10: fatal error: X11/Xlib.h: No such file or directory
|   150 | #include <X11/Xlib.h>
|       |          ^~~~~~~~~~~~
| compilation terminated.
| Makefile:178: recipe for target 'egl4gles1.o' failed
| make: *** [egl4gles1.o] Error 1
| EGL (GLES/egl.h) disabled.
| The EGL functionality test failed!

This is because the -DLINUX=1 and -DEGL_API_FB=1 flags added to QT_CONFIG_FLAGS
are not pushed down during these configuration tests.

This commit adds these two flags directly to the related .pro files
in Qt4 sources.

Since it's been a long time that meta-qt4 is not updated anymore,
the patch can be backported to LTS releases.

Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
---
 .../qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc        | 2 ++
 .../qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++
 ...gl4gles1-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++
 3 files changed, 20 insertions(+)
 create mode 100644 dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
 create mode 100644 dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch

Comments

Otavio Salvador Sept. 28, 2022, 2:34 p.m. UTC | #1
Hello Mauro,

Please open a PR in GitHub for it. Thanks for fixing it :-)

Em qua., 28 de set. de 2022 às 11:11, Mauro <m.salvini@koansoftware.com>
escreveu:

> Before this change, when imxgpu2d is selected, the qt4 do_configure
> fails with the following error:
>
> | EGL (EGL/egl.h) auto-detection... ()
> | compiling egl.cpp
> ...
> |
> /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10:
> fatal error: X11/Xlib.h: No such file or directory
> |   150 | #include <X11/Xlib.h>
> |       |          ^~~~~~~~~~~~
> | compilation terminated.
> | Makefile:178: recipe for target 'egl.o' failed
> | make: *** [egl.o] Error 1
> | EGL (EGL/egl.h) disabled.
> | EGL (GLES/egl.h) auto-detection... ()
> ...
> |
> /home/wrk/yocto/build-qt4/tmp/work/imx8mmevk-fslc-linux/qt4-embedded/4.8.7-r0/recipe-sysroot/usr/include/EGL/eglplatform.h:150:10:
> fatal error: X11/Xlib.h: No such file or directory
> |   150 | #include <X11/Xlib.h>
> |       |          ^~~~~~~~~~~~
> | compilation terminated.
> | Makefile:178: recipe for target 'egl4gles1.o' failed
> | make: *** [egl4gles1.o] Error 1
> | EGL (GLES/egl.h) disabled.
> | The EGL functionality test failed!
>
> This is because the -DLINUX=1 and -DEGL_API_FB=1 flags added to
> QT_CONFIG_FLAGS
> are not pushed down during these configuration tests.
>
> This commit adds these two flags directly to the related .pro files
> in Qt4 sources.
>
> Since it's been a long time that meta-qt4 is not updated anymore,
> the patch can be backported to LTS releases.
>
> Signed-off-by: Mauro Salvini <m.salvini@koansoftware.com>
> ---
>  .../qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc        | 2 ++
>  .../qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++
>  ...gl4gles1-pro-add-defines-to-compile-with-viv-fb.patch | 9 +++++++++
>  3 files changed, 20 insertions(+)
>  create mode 100644
> dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
>  create mode 100644
> dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
>
> diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
> b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
> index 03e09e57..ac009a3a 100644
> --- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
> +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
> @@ -12,6 +12,8 @@ SRC_URI:append:imxgpu2d += " \
>         file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
>
> file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
>         file://0003-i.MX6-force-egl-visual-ID-33.patch \
> +       file://egl-pro-add-defines-to-compile-with-viv-fb.patch \
> +       file://egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch \
>  "
>
>  DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
> diff --git
> a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
> b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
> new file mode 100644
> index 00000000..e512fd47
> --- /dev/null
> +++
> b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
> @@ -0,0 +1,9 @@
> +--- a/config.tests/unix/egl/egl.pro    2015-05-07 16:14:42.000000000
> +0200
> ++++ b/config.tests/unix/egl/egl.pro    2022-09-28 15:36:53.819893439
> +0200
> +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
> +
> + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
> + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
> ++DEFINES += LINUX=1 EGL_API_FB=1
> +
> + CONFIG -= qt
> diff --git
> a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
> b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
> new file mode 100644
> index 00000000..61b40eb7
> --- /dev/null
> +++
> b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
> @@ -0,0 +1,9 @@
> +--- a/config.tests/unix/egl4gles1/egl4gles1.pro        2015-05-07
> 16:14:42.000000000 +0200
> ++++ b/config.tests/unix/egl4gles1/egl4gles1.pro        2022-09-28
> 15:36:53.827893490 +0200
> +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
> +
> + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
> + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
> ++DEFINES += LINUX=1 EGL_API_FB=1
> +
> + CONFIG -= qt
> --
> 2.17.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#24860):
> https://lists.yoctoproject.org/g/meta-freescale/message/24860
> Mute This Topic: https://lists.yoctoproject.org/mt/93973325/3617537
> Group Owner: meta-freescale+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-freescale/unsub [
> otavio.salvador@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Mauro Salvini Sept. 28, 2022, 3:09 p.m. UTC | #2
On 28/09/22 16:34, Otavio Salvador wrote:
> Hello Mauro,
> 
> Please open a PR in GitHub for it. Thanks for fixing it :-)
> 

Hi Otavio,

oh sorry. I just opened a PR on GitHub.

Thanks
Fabio Estevam Sept. 28, 2022, 5:27 p.m. UTC | #3
Hi Mauro,

On Wed, Sep 28, 2022 at 11:11 AM Mauro <m.salvini@koansoftware.com> wrote:

>  DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
> diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
> new file mode 100644
> index 00000000..e512fd47
> --- /dev/null
> +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
> @@ -0,0 +1,9 @@
> +--- a/config.tests/unix/egl/egl.pro    2015-05-07 16:14:42.000000000 +0200
> ++++ b/config.tests/unix/egl/egl.pro    2022-09-28 15:36:53.819893439 +0200
> +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
> +
> + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
> + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
> ++DEFINES += LINUX=1 EGL_API_FB=1

Missing From and Signed-off-by tags in the patches.
Mauro Salvini Sept. 29, 2022, 7:01 a.m. UTC | #4
On 28/09/22 19:27, Fabio Estevam wrote:
> Hi Mauro,
> 
> On Wed, Sep 28, 2022 at 11:11 AM Mauro <m.salvini@koansoftware.com> wrote:
> 
>>   DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
>> diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
>> new file mode 100644
>> index 00000000..e512fd47
>> --- /dev/null
>> +++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
>> @@ -0,0 +1,9 @@
>> +--- a/config.tests/unix/egl/egl.pro    2015-05-07 16:14:42.000000000 +0200
>> ++++ b/config.tests/unix/egl/egl.pro    2022-09-28 15:36:53.819893439 +0200
>> +@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
>> +
>> + !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
>> + !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
>> ++DEFINES += LINUX=1 EGL_API_FB=1
> 
> Missing From and Signed-off-by tags in the patches.


Hi Fabio,

yes, they are missing because I didn't generate the patches using git 
(Qt4 sources are in a tarball), sorry.

Do I have to resend the patches? Otavio has already merged them upstream.

Thanks, regards
Otavio Salvador Sept. 29, 2022, 12:36 p.m. UTC | #5
Em qui., 29 de set. de 2022 às 04:01, Mauro <m.salvini@koansoftware.com>
escreveu:

> On 28/09/22 19:27, Fabio Estevam wrote:
> yes, they are missing because I didn't generate the patches using git
> (Qt4 sources are in a tarball), sorry.
>
> Do I have to resend the patches? Otavio has already merged them upstream.
>

Please do, but send as PR.
Mauro Salvini Sept. 29, 2022, 2:21 p.m. UTC | #6
On 29/09/22 14:36, Otavio Salvador wrote:
> 
> 
> Em qui., 29 de set. de 2022 às 04:01, Mauro <m.salvini@koansoftware.com 
> <mailto:m.salvini@koansoftware.com>> escreveu:
> 
>     On 28/09/22 19:27, Fabio Estevam wrote:
>     yes, they are missing because I didn't generate the patches using git
>     (Qt4 sources are in a tarball), sorry.
> 
>     Do I have to resend the patches? Otavio has already merged them
>     upstream.
> 
> 
> Please do, but send as PR.
> 
> -- 
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br <http://www.ossystems.com.br> 
> http://code.ossystems.com.br <http://code.ossystems.com.br>
> Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750

Hi Otavio,

done, thanks
Fabio Estevam Oct. 1, 2022, 2:55 p.m. UTC | #7
Hi Mauro,

On Thu, Sep 29, 2022 at 11:21 AM Mauro Salvini
<m.salvini@koansoftware.com> wrote:

> Hi Otavio,
>
> done, thanks

And now the commit itself lacks a Signed-off-by:
https://github.com/Freescale/meta-freescale/commit/24a68cbea9424b7ebc888c402068a09996a5ba17
Mauro Salvini Oct. 3, 2022, 7:24 a.m. UTC | #8
Il 01/10/22 16:55, Fabio Estevam ha scritto:
> Hi Mauro,
> 
> On Thu, Sep 29, 2022 at 11:21 AM Mauro Salvini
> <m.salvini@koansoftware.com> wrote:
> 
>> Hi Otavio,
>>
>> done, thanks
> 
> And now the commit itself lacks a Signed-off-by:
> https://github.com/Freescale/meta-freescale/commit/24a68cbea9424b7ebc888c402068a09996a5ba17
> 


My fault again, sorry. :-(
Too hurry.

I'll send a new PR.
diff mbox series

Patch

diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
index 03e09e57..ac009a3a 100644
--- a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4-imx-support.inc
@@ -12,6 +12,8 @@  SRC_URI:append:imxgpu2d += " \
 	file://0001-Add-support-for-i.MX-codecs-to-phonon.patch \
 	file://0002-i.MX-video-renderer-Allow-v4l-device-from-environmen.patch \
 	file://0003-i.MX6-force-egl-visual-ID-33.patch \
+	file://egl-pro-add-defines-to-compile-with-viv-fb.patch \
+	file://egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch \
 "
 
 DEPENDS:append:imxgpu2d = " virtual/kernel virtual/libgles2"
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
new file mode 100644
index 00000000..e512fd47
--- /dev/null
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl-pro-add-defines-to-compile-with-viv-fb.patch
@@ -0,0 +1,9 @@ 
+--- a/config.tests/unix/egl/egl.pro	2015-05-07 16:14:42.000000000 +0200
++++ b/config.tests/unix/egl/egl.pro	2022-09-28 15:36:53.819893439 +0200
+@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
+ 
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
++DEFINES += LINUX=1 EGL_API_FB=1
+ 
+ CONFIG -= qt
diff --git a/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
new file mode 100644
index 00000000..61b40eb7
--- /dev/null
+++ b/dynamic-layers/qt4-layer/recipes-qt4/qt4/qt4/egl4gles1-pro-add-defines-to-compile-with-viv-fb.patch
@@ -0,0 +1,9 @@ 
+--- a/config.tests/unix/egl4gles1/egl4gles1.pro	2015-05-07 16:14:42.000000000 +0200
++++ b/config.tests/unix/egl4gles1/egl4gles1.pro	2022-09-28 15:36:53.827893490 +0200
+@@ -6,5 +6,6 @@ for(p, QMAKE_LIBDIR_EGL) {
+ 
+ !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
+ !isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
++DEFINES += LINUX=1 EGL_API_FB=1
+ 
+ CONFIG -= qt