GNOME Bugzilla – Bug 733426
gl/sdl example fails to build (missing include directory?)
Last modified: 2014-07-22 12:33:30 UTC
While building 1.4.0: Making all in sdl make[5]: Entering directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build/tests/examples/gl/sdl' gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../../.. -D_WIN32_WINNT=0x500 -pthread -mms-bitfields -If:/gstreamer-buildslave/mingw/include/gstreamer-1.0 -If:/gstreamer-buildslave/mingw/include/glib-2.0 -If:/gstreamer-buildslave/mingw/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 -g -D_GNU_SOURCE=1 -Dmain=SDL_main -If:/gstreamer-buildslave/mingw/include/SDL -I../../../../gst-libs -g -O2 -MT sdlshare-sdlshare.o -MD -MP -MF .deps/sdlshare-sdlshare.Tpo -c -o sdlshare-sdlshare.o `test -f 'sdlshare.c' || echo './'`sdlshare.c In file included from f:/gstreamer-buildslave/mingw/include/gstreamer-1.0/gst/gl/gstglmixerpad.h:25:0, from f:/gstreamer-buildslave/mingw/include/gstreamer-1.0/gst/gl/gstglmixer.h:27, from f:/gstreamer-buildslave/mingw/include/gstreamer-1.0/gst/gl/gl.h:41, from sdlshare.c:40: f:/gstreamer-buildslave/mingw/include/gstreamer-1.0/gst/video/gstvideoaggregator.h:28:35: fatal error: gstvideoaggregatorpad.h: No such file or directory #include "gstvideoaggregatorpad.h" ^ compilation terminated. make[5]: *** [sdlshare-sdlshare.o] Error 1 make[5]: Leaving directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build/tests/examples/gl/sdl' make[4]: Leaving directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build/tests/examples/gl' make[3]: Leaving directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build/tests/examples' make[2]: Leaving directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build/tests' make[1]: Leaving directory `/f/gstreamer-buildslave/slave/gst-bad-bin/build' Obviously, gstvideoaggregatorpad.h is in $(top_srcdir)/gst-libs/gst/video
Created attachment 281295 [details] [review] Add missing include directory
It looks like it is using the libgstgl headers from an installed version of GStreamer, not the currently build one (and not 1.4.0 but 1.3.90).
Yes, it appears to be so. -bad has been broken for me for quite some time, thus all that time -bad headers and libraries in /mingw were not getting updated (because buildbot doesn't install something that it can't compile completely). That might explain the discrepancy between sdl example expectations and reality. It's mildly disturbing that makefiles put system include dir (/mingw/include/gstreamer-1.0) before in-source include dirs (i.e. $(top_srcdir)/...), etc). Do you want me to file that as a separate bug? Do you need a patch for this?
That would be the right fix for this here, yes. No need for another bug :)
Created attachment 281302 [details] [review] Reorder CFLAGS to include in-source dirs first
commit 27df659fd805592783d13a7c664339eb577ac666 Author: Руслан Ижбулатов <lrn1986@gmail.com> Date: Mon Jul 21 11:07:28 2014 +0000 gl: Reorder CFLAGS to include in-source dirs first in examples https://bugzilla.gnome.org/show_bug.cgi?id=733426