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 755754 - videoaggregator doesn't compile with in openembedded dora (glib 2.36.4)
videoaggregator doesn't compile with in openembedded dora (glib 2.36.4)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.6.0
Other Linux
: Normal normal
: 1.6.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-28 17:34 UTC by Andreas Frisch
Modified: 2015-09-29 13:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
videoaggregator: fix compilation with older glib version (2.29 KB, patch)
2015-09-29 12:33 UTC, Tim-Philipp Müller
committed Details | Review

Description Andreas Frisch 2015-09-28 17:34:48 UTC
hey Thiago, i discovered that the patch 
http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/gst-libs/gst/video/gstvideoaggregator.c?id=ba97ec74bedd3d8e910052d8345becc42ad75813
break crosscompilation of gst-plugins-bad 1.6.0 in our openembedded dora environment. it probably happens in any environment using glib 2.36.4 and gcc 4.8.1, i haven't tested that.
it seems the use of the glib private macro _G_DEFINE_TYPE_EXTENDED_CLASS_INIT is causing the build error

 mipsel-oe-linux-libtool: compile:  mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32 --sysroot=/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080 -std=gnu99 -DHAVE_CONFIG_H -I. -I../../.. -DGST_USE_UNSTABLE_API -I../../../gst-libs -I../../../gst-libs -pthread -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/gstreamer-1.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/gstreamer-1.0/include -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/glib-2.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/glib-2.0/include -DGST_USE_UNSTABLE_API -DG_THREADS_MANDATORY -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wwrite-strings -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/orc-0.4 -pthread -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/gstreamer-1.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/gstreamer-1.0/include -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/glib-2.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/glib-2.0/include -pthread -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/gstreamer-1.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/gstreamer-1.0/include -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/include/glib-2.0 -I/dream/dora/build/dm7080/tmp-eglibc/sysroots/dm7080/usr/lib/glib-2.0/include -O2 -pipe -g -feliminate-unused-debug-types -c gstvideoaggregator.c  -fPIC -DPIC -o .libs/libgstbadvideo_1.0_la-gstvideoaggregator.o
| gstvideoaggregator.c:443:57: error: unknown type name 'gst_videoaggregator'
|  _G_DEFINE_TYPE_EXTENDED_CLASS_INIT (GstVideoAggregator, gst_videoaggregator);
|                                                          ^
| gstvideoaggregator.c: In function 'gst_videoaggregator_get_type':
| gstvideoaggregator.c:459:26: error: 'gst_videoaggregator_class_intern_init' undeclared (first use in this function)
|          (GClassInitFunc) gst_videoaggregator_class_intern_init,
|                           ^
| gstvideoaggregator.c:459:26: note: each undeclared identifier is reported only once for each function it appears in
| gstvideoaggregator.c: At top level:
| gstvideoaggregator.c:2073:1: warning: 'gst_videoaggregator_class_init' defined but not used [-Wunused-function]
|  gst_videoaggregator_class_init (GstVideoAggregatorClass * klass)
|  ^
| Makefile:812: recipe for target 'libgstbadvideo_1.0_la-gstvideoaggregator.lo' failed
| make[4]: *** [libgstbadvideo_1.0_la-gstvideoaggregator.lo] Error 1

when reverting the commit, build proceeds
Comment 1 Tim-Philipp Müller 2015-09-29 12:33:12 UTC
Created attachment 312356 [details] [review]
videoaggregator: fix compilation with older glib version

Try this please and let me know if it works for you.
Comment 2 Tim-Philipp Müller 2015-09-29 13:44:36 UTC
Ah well, please re-open if it doesn't work.

commit 54090176423f05faaf326efd421d2a996c75eb3e
Author: Tim-Philipp Müller <tim@centricular.com>
Date:   Tue Sep 29 13:31:18 2015 +0100

    videoaggregator: fix compilation with older glib version
    
    Remove weird use of private gtype defines and fix compilation
    with older glib versions such as 2.36.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755754