GNOME Bugzilla – Bug 625832
Problem compiling gstreamer 0.10.30
Last modified: 2010-10-08 16:29:54 UTC
# make make all-recursive make[1]: Entering directory `/tmp/gstreamer-0.10.30' Making all in pkgconfig make[2]: Entering directory `/tmp/gstreamer-0.10.30/pkgconfig' make[2]: Nothing to be done for `all'. make[2]: Leaving directory `/tmp/gstreamer-0.10.30/pkgconfig' Making all in gst make[2]: Entering directory `/tmp/gstreamer-0.10.30/gst' make all-recursive make[3]: Entering directory `/tmp/gstreamer-0.10.30/gst' Making all in parse make[4]: Entering directory `/tmp/gstreamer-0.10.30/gst/parse' make[4]: Nothing to be done for `all'. make[4]: Leaving directory `/tmp/gstreamer-0.10.30/gst/parse' make[4]: Entering directory `/tmp/gstreamer-0.10.30/gst' make[4]: Leaving directory `/tmp/gstreamer-0.10.30/gst' make[3]: Leaving directory `/tmp/gstreamer-0.10.30/gst' make[2]: Leaving directory `/tmp/gstreamer-0.10.30/gst' Making all in libs make[2]: Entering directory `/tmp/gstreamer-0.10.30/libs' Making all in gst make[3]: Entering directory `/tmp/gstreamer-0.10.30/libs/gst' Making all in base make[4]: Entering directory `/tmp/gstreamer-0.10.30/libs/gst/base' GEN GstBase-0.10.gir g-ir-scanner: compile: gcc -Wall -pthread -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/gobject-introspection-1.0 -I/usr/local/lib/libffi-3.0.9rc3/include -s -O3 -march=i686 -I../../.. -I/tmp/gstreamer-0.10.30 -I/tmp/gstreamer-0.10.30/libs -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -I../../.. -I/tmp/gstreamer-0.10.30 -I/tmp/gstreamer-0.10.30/libs -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include -I/usr/local/include/libxml2 -c -o /tmp/gstreamer-0.10.30/libs/gst/base/tmp-introspectXfxQbg/GstBase-0.10.o /tmp/gstreamer-0.10.30/libs/gst/base/tmp-introspectXfxQbg/GstBase-0.10.c g-ir-scanner: link: ../../../libtool --mode=link --tag=CC --silent gcc -o /tmp/gstreamer-0.10.30/libs/gst/base/tmp-introspectXfxQbg/GstBase-0.10 -s -O3 -march=i686 -L. -pthread -Wl,--export-dynamic -L/usr/local/lib -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lffi -lgthread-2.0 -lrt -lglib-2.0 -liconv libgstbase-0.10.la -pthread -Wl,--export-dynamic -L/usr/local/lib -lgio-2.0 -lz -lresolv -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lffi -lgthread-2.0 -lrt -lglib-2.0 -liconv /tmp/gstreamer-0.10.30/libs/gst/base/tmp-introspectXfxQbg/GstBase-0.10.o ./.libs/libgstbase-0.10.so: undefined reference to `gst_event_parse_sink_message' ./.libs/libgstbase-0.10.so: undefined reference to `gst_pad_peer_get_caps_reffed' ./.libs/libgstbase-0.10.so: undefined reference to `gst_pad_get_caps_reffed' ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_set_qos_values' ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_set_qos_stats' ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_new_qos' collect2: ld returned 1 exit status Traceback (most recent call last):
+ Trace 223083
sys.exit(scanner_main(sys.argv))
glibtransformer.get_get_type_functions())
return dc.run()
self._link(bin_path, o_path)
subprocess.check_call(args)
raise CalledProcessError(retcode, cmd)
make[4]: *** [GstBase-0.10.gir] Error 1 make[4]: Leaving directory `/tmp/gstreamer-0.10.30/libs/gst/base' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/gstreamer-0.10.30/libs/gst' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/gstreamer-0.10.30/libs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/tmp/gstreamer-0.10.30' make: *** [all] Error 2
> ./.libs/libgstbase-0.10.so: undefined reference to > `gst_event_parse_sink_message' > ./.libs/libgstbase-0.10.so: undefined reference to > `gst_pad_peer_get_caps_reffed' > ./.libs/libgstbase-0.10.so: undefined reference to `gst_pad_get_caps_reffed' > ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_set_qos_values' > ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_set_qos_stats' > ./.libs/libgstbase-0.10.so: undefined reference to `gst_message_new_qos' These exist since 0.10.29 hence I assume that you have linker problems. Please provide exact steps and the order of gstreamer stuff that you compiled.
The gstreamer package is the first one I am compiling.
Which version does gst-plugins-base have?
0.10.25 should I try to upgrade it ?
> Which version does gst-plugins-base have? gst-plugins-base is not involved here. libgstbase-0.10.so is in gstreamer core. What's happening here is that the gobject-introspection stuff is finding/using the (older) system libgstreamer-0.10.so instead of the libgstreamer-0.10.so in the source/build tree, when introspecting libgstbase-0.10.so. I don't know why this happens. The Makefile.am snippet looks like this (edited for clarity): libgstbase_0.10_la_DEPENDENCIES = \ $(top_builddir)/gst/libgstreamer-0.10.la libgstbase_0.10_la_LIBADD = \ $(top_builddir)/gst/libgstreamer-0.10.la \ $(GLIB_LIBS) GstBase-0.10.gir: $(INTROSPECTION_SCANNER) libgstbase-0.10.la PKG_CONFIG_PATH="$(top_builddir)/pkgconfig:$(PKG_CONFIG_PATH)" \ $(INTROSPECTION_SCANNER) -v --namespace GstBase \ --nsversion=0.10 \ --strip-prefix=Gst \ -I$(top_srcdir) \ $(gir_cincludes) \ --add-include-path=$(top_builddir)/gst \ --library=libgstbase-0.10.la \ --include=Gst-0.10 \ --libtool="$(top_builddir)/libtool" \ --pkg gstreamer-0.10 \ --output $@ \ $(gir_headers) \ $(gir_sources) I think libtool should be doing the right thing here, and the introspection scanner should be getting the right info via libtool. (Fwiw, the pkg-config directory contains a gstreamer-0.10-uninstalled.pc which points to the gstreamer .la in Libs:)
Closing this bug report as no further information has been provided. Please feel free to reopen this bug if you can provide the information asked for. Thanks!