GNOME Bugzilla – Bug 669426
Cannot compile using uninstalled gst-plugins-bad
Last modified: 2012-02-05 18:29:58 UTC
Created attachment 206853 [details] gstreamer-vaapi I'm trying to compile http://gitorious.org/vaapi/gstreamer-vaapi - to do this I needed to check out gst-plugins-bad from Git (/home/zenith/Desktop/dev/gst-plugins-bad) I successfully compiled gst-plugins-bad and then I set up my PKG_CONFIG_PATH: export PKG_CONFIG_PATH=/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/ I then ran autogen.sh and tried to compile, but I get this error: CC libgstvaapi_x11_0.10_la-gstvaapiutils.lo In file included from gstvaapiutils.c:26:0: gstvaapisurface.h:30:40: fatal error: gst/video/gstsurfacebuffer.h: No such file or directory compilation terminated. make[5]: *** [libgstvaapi_x11_0.10_la-gstvaapiutils.lo] Error 1 My autogen generated Makefile for gstreamer-vaapi is attached. The contents of gstreamer-basevideo-uninstalled.pc is: prefix= exec_prefix= libdir=${pcfiledir}/../gst-libs/gst/video includedir=${pcfiledir}/../gst-libs Name: GStreamer base video, Uninstalled Description: Base class, interface and utilities for video elements, Uninstalled Requires: gstreamer-0.10 gstreamer-base-0.10 Version: 0.10.22.1 Libs: -L${libdir} ${libdir}/libgstbasevideo-0.10.la Cflags: -I${includedir} I can't immediately see what is wrong with the paths, they look fine. I tried running "make install" for gst-plugins-bad but that did not make a difference.
I just noticed I might have skipped some information above. What I need is just the basevideo plugin/element. While it is gstreamer-vaapi that breaks, it seems like it is caused by the .pc file being wrong (although I see nothing wrong with the path in it, nor the one in the Makefile). I tried running with "make -d" but it is quite verbose. I tried this: zenith@nadir:~/Desktop/dev/gstreamer-vaapi$ make -d | grep gst/video/gstsurfacebuffer.h That gives: Considering target file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Looking for an implicit rule for `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.c'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.o'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h,v'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.c'. Looking for a rule with intermediate file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.c'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.w'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.c,v'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.w'. Looking for a rule with intermediate file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.w'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.w,v'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.o'. Looking for a rule with intermediate file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.o'. Rejecting impossible implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.c'. Trying implicit prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h.o,v'. No implicit rule found for `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Finished prerequisites of target file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. No commands for `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' and no prerequisites actually changed. No need to remake target `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapicontext.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapisurface.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapisurfacepool.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapisurfaceproxy.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapiutils.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapivideobuffer.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapiwindow.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_ffmpeg.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapicodec_objects.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_h264.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_mpeg2.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_objects.lo'. Pruning file `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h'. Prerequisite `/home/zenith/Desktop/dev/gst-plugins-bad/pkgconfig/../gst-libs/gst/video/gstsurfacebuffer.h' is older than target `libgstvaapi_0.10_la-gstvaapidecoder_vc1.lo'. In file included from gstvaapiutils.c:26:0: gstvaapisurface.h:30:40: fatal error: gst/video/gstsurfacebuffer.h: No such file or directory compilation terminated.
Bug in gstreamer-vaapi. After fixing all the glib use issues (I'm using git glib, so probably just not supported yet), it's missing: $(GST_BASEVIDEO_CFLAGS) in: libgstvaapi_x11_@GST_MAJORMINOR@_la_CFLAGS So it's trying to compile something that needs -bad libs without using the contents of -bad pkg-config file. So please file a bug with gstreamer-vaapi about this. The cflags may be missing elsewhere (and possibly ldflags as well, haven't fixed the build till the end after I found the issue).