diff mbox series

[1/1] package/gstreamer1/gst1-plugins-base: gl needs api, platform and window

Message ID 20191112193756.32212-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/gstreamer1/gst1-plugins-base: gl needs api, platform and window | expand

Commit Message

Fabrice Fontaine Nov. 12, 2019, 7:37 p.m. UTC
Build will fail if gl is enabled without an api, a platform and a
window:

Message: No OpenGL Platforms found or requested
Message: No OpenGL Window systems found or requested

gst-libs/gst/gl/meson.build:948:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.

This requirement is already specified in Config.in through a simple
comment:

comment "The opengl library needs an API, a platform and a window system"
	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL

Fixes:
 - http://autobuild.buildroot.org/results/d171059801adf8dea1a2116d7c729a2aa5767ac8
 - http://autobuild.buildroot.org/results/b1bfa505bba534440d331c4948eea5eb2d165c97

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Comments

Thomas Petazzoni Nov. 12, 2019, 9:48 p.m. UTC | #1
On Tue, 12 Nov 2019 20:37:56 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Build will fail if gl is enabled without an api, a platform and a
> window:
> 
> Message: No OpenGL Platforms found or requested
> Message: No OpenGL Window systems found or requested
> 
> gst-libs/gst/gl/meson.build:948:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.
> 
> This requirement is already specified in Config.in through a simple
> comment:
> 
> comment "The opengl library needs an API, a platform and a window system"
> 	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/d171059801adf8dea1a2116d7c729a2aa5767ac8
>  - http://autobuild.buildroot.org/results/b1bfa505bba534440d331c4948eea5eb2d165c97
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

To be honest, I think the gst1-plugins-base/Config.in handling of
OpenGL support is completely over-engineered, and whenever we get
patches like this one, or http://patchwork.ozlabs.org/patch/1143636/, I
have the feeling of adding more and more layers of ducktape on
something that is already severely broken.

Can we revisit the handling of OpenGL support in
gst1-plugins-base/Config.in to make it more sane ?

Thomas
Thomas Petazzoni Sept. 15, 2020, 6:47 p.m. UTC | #2
On Tue, 12 Nov 2019 20:37:56 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> Build will fail if gl is enabled without an api, a platform and a
> window:
> 
> Message: No OpenGL Platforms found or requested
> Message: No OpenGL Window systems found or requested
> 
> gst-libs/gst/gl/meson.build:948:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.
> 
> This requirement is already specified in Config.in through a simple
> comment:
> 
> comment "The opengl library needs an API, a platform and a window system"
> 	depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/d171059801adf8dea1a2116d7c729a2aa5767ac8
>  - http://autobuild.buildroot.org/results/b1bfa505bba534440d331c4948eea5eb2d165c97
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)

Thanks, I've applied to master, but I still think that the Config.in
file of this package needs some review/improvement of the OpenGL
handling. However, in the current situation, your patch indeed seemed
like the most immediate solution.

Thomas
Peter Korsgaard Sept. 25, 2020, 1:31 p.m. UTC | #3
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@bootlin.com> writes:

 > On Tue, 12 Nov 2019 20:37:56 +0100
 > Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

 >> Build will fail if gl is enabled without an api, a platform and a
 >> window:
 >> 
 >> Message: No OpenGL Platforms found or requested
 >> Message: No OpenGL Window systems found or requested
 >> 
 >> gst-libs/gst/gl/meson.build:948:2: ERROR: Problem encountered: GStreamer OpenGL integration required via options, but needed dependencies not found.
 >> 
 >> This requirement is already specified in Config.in through a simple
 >> comment:
 >> 
 >> comment "The opengl library needs an API, a platform and a window system"
 >> depends on !BR2_PACKAGE_GST1_PLUGINS_BASE_HAS_LIB_OPENGL
 >> 
 >> Fixes:
 >> - http://autobuild.buildroot.org/results/d171059801adf8dea1a2116d7c729a2aa5767ac8
 >> - http://autobuild.buildroot.org/results/b1bfa505bba534440d331c4948eea5eb2d165c97
 >> 
 >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
 >> ---
 >> .../gstreamer1/gst1-plugins-base/gst1-plugins-base.mk | 11 +++++++----
 >> 1 file changed, 7 insertions(+), 4 deletions(-)

 > Thanks, I've applied to master, but I still think that the Config.in
 > file of this package needs some review/improvement of the OpenGL
 > handling. However, in the current situation, your patch indeed seemed
 > like the most immediate solution.

Committed to 2020.02.x, 2020.05.x and 2020.08.x, thanks.
diff mbox series

Patch

diff --git a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
index 21a29cbea2..108a19d7b0 100644
--- a/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
+++ b/package/gstreamer1/gst1-plugins-base/gst1-plugins-base.mk
@@ -38,19 +38,22 @@  else
 GST1_PLUGINS_BASE_CONF_OPTS += -Dorc=disabled
 endif
 
-ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API),y)
+ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_API)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM)$(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_WINDOW),yyy)
 GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=enabled
+else
+GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
+endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_OPENGL),y)
 GST1_PLUGINS_BASE_GL_API_LIST = opengl
 GST1_PLUGINS_BASE_DEPENDENCIES += libgl libglu
 endif
+
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLES2),y)
 GST1_PLUGINS_BASE_GL_API_LIST += gles2
 GST1_PLUGINS_BASE_DEPENDENCIES += libgles
 endif
-else
-GST1_PLUGINS_BASE_CONF_OPTS += -Dgl=disabled
-endif
+
 GST1_PLUGINS_BASE_CONF_OPTS += -Dgl_api='$(subst $(space),$(comma),$(GST1_PLUGINS_BASE_GL_API_LIST))'
 
 ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_GLX),y)