Problems building gstreamer-plugins-base v1.14 with yocto

Norbert Wesp n.wesp at phytec.de
Fri Jul 27 11:26:52 UTC 2018


Hi everybody,

this week I had a problem to build our image with gstreamer.

Since we use 'meta-gstreamer1.0' instead of our layer, the installed 
version of gstreamer changed from v1.12 to v1.14. Within gstreamer v1.14 
gbm is supported by gstreamer1.0-plugins-base_1.14 and will break our 
build process. Furthermore I get an error because 
'EGL_PLATFORM_GBM_MESA' is undefined in 
'gst-libs/gst/gl/egl/gstgldisplay_egl.c'.
Note:    This only effect builds with an am335x processor. All builds 
with an imx6 does build successfully.

Here is a little snipped of the output, I get from yocto:
| In file included from 
../../../../../gst-plugins-base-1.14.1/gst-libs/gst/gl/egl/gstglcontext_egl.c:55:0:
| 
../../../../../gst-plugins-base-1.14.1/gst-libs/gst/gl/egl/../gbm/gstglwindow_gbm_egl.h:24:10: 
fatal error: gbm.h: No such file or directory
|  #include <gbm.h>
|           ^~~~~~~
| compilation terminated.

Here is what I changed:
file:    /gst-libs/gst/gl/egl/gstgldisplay_egl.c
changes:
    #ifndef EGL_PLATFORM_WAYLAND
    #define EGL_PLATFORM_WAYLAND 0x31D8
    #endif
+#ifndef EGL_PLATFORM_GBM_MESA
+#define EGL_PLATFORM_GBM_MESA 0x31D7
+#endif
    #ifndef EGL_PLATFORM_ANDROID
    #define EGL_PLATFORM_ANDROID 0x3141
    #endif

file:    /gst-libs/gst/gl/Makefile.am
changes:
@@ -155,12 +155,14 @@ libgstgl_ at GST_API_VERSION@_la_CFLAGS = \
          $(GST_PLUGINS_BASE_CFLAGS) \
          $(GST_BASE_CFLAGS) \
          $(GST_CFLAGS) \
-        $(GL_CFLAGS)
+       $(GL_CFLAGS) \
+       $(GBM_CFLAGS)

  libgstgl_ at GST_API_VERSION@_la_LDFLAGS = \
          $(GST_LIB_LDFLAGS) \
          $(GST_ALL_LDFLAGS) \
-        $(GST_LT_LDFLAGS)
+       $(GST_LT_LDFLAGS) \
+       $(GBM_LDFLAGS)

file:    gst-libs/gst/gl/egl/Makefile.am
changes:
@@ -23,10 +23,12 @@ libgstgl_egl_la_CFLAGS = \
         -I$(top_srcdir)/gst-libs \
         -I$(top_builddir)/gst-libs \
          $(GL_CFLAGS) \
+       $(GBM_CFLAGS) \
          $(GST_PLUGINS_BASE_CFLAGS) \
          $(GST_BASE_CFLAGS) \
          $(GST_CFLAGS)

  libgstgl_egl_la_LDFLAGS = \
          $(GST_LIB_LDFLAGS) \
+       $(GBM_LDFLAGS) \
          $(GST_ALL_LDFLAGS)

With this changes I was able to build a complete image without WARNINGs 
or ERRORs.

So my questions are:
1. Did I found a bug or is there some issue in our configuration?
2. Is way I fixed this issue okay, or should I do it another way?

Thanks and greez
N.Wesp


More information about the gstreamer-devel mailing list