GNOME Bugzilla – Bug 755754
videoaggregator doesn't compile with in openembedded dora (glib 2.36.4)
Last modified: 2015-09-29 13:44:52 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
Created attachment 312356 [details] [review] videoaggregator: fix compilation with older glib version Try this please and let me know if it works for you.
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