GNOME Bugzilla – Bug 769117
Regression building master
Last modified: 2016-07-24 00:40:03 UTC
A fresh gst-uninstalled build from master in Ubuntu 16.04 fails with the following. $ make V=1 /bin/bash ../../libtool --tag=CC --tag=disable-static --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -pthread -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gst-plugins-base/gst-libs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../gst-libs -pthread -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DGST_USE_UNSTABLE_API -DG_THREADS_MANDATORY -DG_DISABLE_DEPRECATED -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wwrite-strings -Wold-style-definition -Waggregate-return -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs -Werror -g -DGST_DISABLE_DEPRECATED -g -O2 -MT libgstoss4audio_la-oss4-sink.lo -MD -MP -MF .deps/libgstoss4audio_la-oss4-sink.Tpo -c -o libgstoss4audio_la-oss4-sink.lo `test -f 'oss4-sink.c' || echo './'`oss4-sink.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -pthread -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gst-plugins-base/gst-libs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I../../gst-libs -pthread -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/home/jep/gst/master/gstreamer -I/home/jep/gst/master/gstreamer/libs -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DGST_USE_UNSTABLE_API -DG_THREADS_MANDATORY -DG_DISABLE_DEPRECATED -Wall -Wdeclaration-after-statement -Wvla -Wpointer-arith -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wwrite-strings -Wold-style-definition -Waggregate-return -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wnested-externs -Werror -g -DGST_DISABLE_DEPRECATED -g -O2 -MT libgstoss4audio_la-oss4-sink.lo -MD -MP -MF .deps/libgstoss4audio_la-oss4-sink.Tpo -c oss4-sink.c -fPIC -DPIC -o .libs/libgstoss4audio_la-oss4-sink.o In file included from /home/jep/gst/master/gstreamer/gst/gstbin.h:27:0, from /home/jep/gst/master/gstreamer/gst/gst.h:35, from /home/jep/gst/master/gst-plugins-base/gst-libs/gst/audio/streamvolume.h:23, from oss4-sink.c:56: oss4-sink.c: In function ‘gst_oss4_sink_open’: /home/jep/gst/master/gstreamer/gst/gstelement.h:434:7: error: ‘GST_RESOURCE_ERROR_0x00000002’ undeclared (first use in this function) GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__, \ ^ /home/jep/gst/master/gstreamer/gst/gstelement.h:453:3: note: in expansion of macro ‘GST_ELEMENT_ERROR_WITH_DETAILS’ GST_ELEMENT_ERROR_WITH_DETAILS(el, domain, code, text, debug, (NULL)) ^ oss4-sink.c:502:7: note: in expansion of macro ‘GST_ELEMENT_ERROR’ GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, ^ /home/jep/gst/master/gstreamer/gst/gstelement.h:434:7: note: each undeclared identifier is reported only once for each function it appears in GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__, \ ^ /home/jep/gst/master/gstreamer/gst/gstelement.h:453:3: note: in expansion of macro ‘GST_ELEMENT_ERROR_WITH_DETAILS’ GST_ELEMENT_ERROR_WITH_DETAILS(el, domain, code, text, debug, (NULL)) ^ oss4-sink.c:502:7: note: in expansion of macro ‘GST_ELEMENT_ERROR’ GST_ELEMENT_ERROR (oss, RESOURCE, OPEN_WRITE, ^ Makefile:715: recipe for target 'libgstoss4audio_la-oss4-sink.lo' failed make: *** [libgstoss4audio_la-oss4-sink.lo] Error 1
commit d052ae63d8632b78e933a8447e5f2c8aa25a6c17 Author: Tim-Philipp Müller <tim@centricular.com> Date: Sun Jul 24 01:35:41 2016 +0100 element: fix GST_ELEMENT_ERROR() error code expansion In some corner cases, the error 'code' part passed to GST_ELEMENT_ERROR() is a valid define as well, in which case it won't survive two levels of macro expansion, but only one. Fixes: oss4-sink.c: In function ‘gst_oss4_sink_open’: error: ‘GST_RESOURCE_ERROR_0x00000002’ undeclared (first use in this function) GST_ ## domain ## _ERROR_ ## code, __txt, __dbg, __FILE__, which is from GST_ELEMENT_ERROR(el,RESOURCE,OPEN_WRITE,..) and OPEN_WRITE happens to be defined to 2 here. https://bugzilla.gnome.org/show_bug.cgi?id=756806 https://bugzilla.gnome.org/show_bug.cgi?id=769117