GNOME Bugzilla – Bug 793106
conflicting types for ‘GLsync’
Last modified: 2018-02-02 18:03:34 UTC
Unlike in https://bugzilla.gnome.org/show_bug.cgi?id=777167 I am still with autotools. gstreamer core/base/bad of today, os is debian testing make[3]: Entering directory '/home/ensonic/projects/gstreamer/gst-plugins-bad/ext/gl' CC libgstopenglmixers_la-gstopengl.lo In file included from /usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84:0, from gstglmixer.h:27, from gstglvideomixer.h:24, from gstopengl.c:48: /usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting types for ‘GLsync’ typedef gpointer GLsync; ^~~~~~ In file included from /usr/include/GL/gl.h:2055:0, from /usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:68, from gstglmixer.h:27, from gstglvideomixer.h:24, from gstopengl.c:48: /usr/include/GL/glext.h:1385:26: note: previous declaration of ‘GLsync’ was here typedef struct __GLsync *GLsync; ^~~~~~ Which means the check in gst-plugins-base/m4/gst-gl.m4 GLsync is not defined and hence defines it. The configure check in base that fails is: conftest.c: In function 'main': conftest.c:105:21: error: expected expression before ')' token if (sizeof ((GLsync))) ^ The last thing to note, is that those types are conditionally defined in the gl headers.
Question is why it's picking up installed headers over the uninstalled headers
Created attachment 367804 [details] lots of gl error when building with meson instead
(In reply to Matthew Waters (ystreet00) from comment #1) > Question is why it's picking up installed headers over the uninstalled > headers Where is it doing this?
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #3) > (In reply to Matthew Waters (ystreet00) from comment #1) > > Question is why it's picking up installed headers over the uninstalled > > headers > > Where is it doing this? (In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #0) > In file included from /usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84:0, Presumably, you're building uninstalled or in a prefix and want the gl library from -base now.
(In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #2) > Created attachment 367804 [details] > lots of gl error when building with meson instead These are all GI errors which doesn't implement a full C preprocessor. The actual error is the flvmux change which requires an updated gst-plugins-good.
In short, nothing GL is a problem there.
(In reply to Matthew Waters (ystreet00) from comment #4) > (In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #3) > > (In reply to Matthew Waters (ystreet00) from comment #1) > > > Question is why it's picking up installed headers over the uninstalled > > > headers > > > > Where is it doing this? > > (In reply to Stefan Sauer (gstreamer, gtkdoc dev) from comment #0) > > In file included from /usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84:0, > > Presumably, you're building uninstalled or in a prefix and want the gl > library from -base now. In the automake build, I build the modules one-by-one and install them to /usr. Hence when building -bad, the fresh version of -base has already been installed. Lets ignore the meson issues for now (sorry for the distraction). The question is why it believes that I don't have the "GLsync" type.
Problem solved: -rw-r--r-- 1 root root 870 Nov 10 2014 /usr/include/gstreamer-1.0/gst/gl/gstglconfig.h -rw-r--r-- 1 root root 1128 Feb 1 22:05 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/include/gst/gl/gstglconfig.h