After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 793106 - conflicting types for ‘GLsync’
conflicting types for ‘GLsync’
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-02-01 21:41 UTC by Stefan Sauer (gstreamer, gtkdoc dev)
Modified: 2018-02-02 18:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
lots of gl error when building with meson instead (260.15 KB, text/plain)
2018-02-02 12:27 UTC, Stefan Sauer (gstreamer, gtkdoc dev)
Details

Description Stefan Sauer (gstreamer, gtkdoc dev) 2018-02-01 21:41:41 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.
Comment 1 Matthew Waters (ystreet00) 2018-02-02 12:09:35 UTC
Question is why it's picking up installed headers over the uninstalled headers
Comment 2 Stefan Sauer (gstreamer, gtkdoc dev) 2018-02-02 12:27:54 UTC
Created attachment 367804 [details]
lots of gl error when building with meson instead
Comment 3 Stefan Sauer (gstreamer, gtkdoc dev) 2018-02-02 12:28:48 UTC
(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?
Comment 4 Matthew Waters (ystreet00) 2018-02-02 13:37:19 UTC
(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.
Comment 5 Matthew Waters (ystreet00) 2018-02-02 13:40:33 UTC
(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.
Comment 6 Matthew Waters (ystreet00) 2018-02-02 13:41:10 UTC
In short, nothing GL is a problem there.
Comment 7 Stefan Sauer (gstreamer, gtkdoc dev) 2018-02-02 17:15:20 UTC
(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.
Comment 8 Stefan Sauer (gstreamer, gtkdoc dev) 2018-02-02 18:03:34 UTC
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