After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625832 - Problem compiling gstreamer 0.10.30
Problem compiling gstreamer 0.10.30
Status: RESOLVED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.10.30
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-08-02 14:24 UTC by Pierre
Modified: 2010-10-08 16:29 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Pierre 2010-08-02 14:24:24 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):
  • File "/usr/local/bin/g-ir-scanner", line 38 in <module>
    sys.exit(scanner_main(sys.argv))
  • File "/usr/local/lib/gobject-introspection/giscanner/scannermain.py", line 330 in scanner_main
    glibtransformer.get_get_type_functions())
  • File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 242 in compile_introspection_binary
    return dc.run()
  • File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 132 in run
    self._link(bin_path, o_path)
  • File "/usr/local/lib/gobject-introspection/giscanner/dumper.py", line 237 in _link
    subprocess.check_call(args)
  • File "/usr/local/lib/python2.6/subprocess.py", line 488 in check_call
    raise CalledProcessError(retcode, cmd)
ubprocess.CalledProcessError: Command '['../../../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']' returned non-zero exit status 1
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
Comment 1 André Klapper 2010-08-03 00:01:25 UTC
> ./.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.
Comment 2 Pierre 2010-08-04 16:33:20 UTC
The gstreamer package is the first one I am compiling.
Comment 3 André Klapper 2010-08-04 17:03:26 UTC
Which version does gst-plugins-base have?
Comment 4 Pierre 2010-08-04 17:26:34 UTC
0.10.25

should I try to upgrade it ?
Comment 5 Tim-Philipp Müller 2010-08-04 17:39:23 UTC
> 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:)
Comment 6 Tim-Philipp Müller 2010-10-08 16:29:54 UTC
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!