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 601198 - compile fails with "undefined reference to `gst_pad_peer_get_caps_reffed'"
compile fails with "undefined reference to `gst_pad_peer_get_caps_reffed'"
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal critical
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-08 21:16 UTC by Christian Kirbach
Modified: 2009-12-01 16:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christian Kirbach 2009-11-08 21:16:58 UTC
$ git status 
# On branch master

....
Configuration
	Version                    : 0.10.25.1
	Source code location       : .
	Prefix                     : /opt/gnome2
	Compiler                   : gcc
	Package name               : GStreamer prerelease
	Package origin             : Unknown package origin

	Documentation (manuals)    : yes
	Documentation (API)        : no

	Debug Logging              : yes
	Pipeline XML load/save     : yes
	Command-line parser        : yes
	Option parsing in gst_init : yes
	Tracing subsystem          : yes
	Allocation tracing         : yes
	Plugin registry            : yes
	Plugin support	           : yes
	Network support            : yes
	Unit testing support       : yes

	Debug                      : yes
	Profiling                  : no

	Building examples          : yes
	Building test apps         : no
	Building tests that fail   : yes


...
LINK  libgstbase-0.10.la
/space/svn/gnome/gstreamer/libs/gst/base/.libs/libgstbase-0.10.so: undefined reference to `gst_pad_peer_get_caps_reffed'
/space/svn/gnome/gstreamer/libs/gst/base/.libs/libgstbase-0.10.so: undefined reference to `gst_pad_get_caps_reffed'
collect2: ld returned 1 exit status
Traceback (most recent call last):
  • File "/opt/gnome2/bin/g-ir-scanner", line 38 in <module>
    sys.exit(scanner_main(sys.argv))
  • File "/opt/gnome2/lib64/gobject-introspection/giscanner/scannermain.py", line 310 in scanner_main
    glibtransformer.get_get_type_functions())
  • File "/opt/gnome2/lib64/gobject-introspection/giscanner/dumper.py", line 217 in compile_introspection_binary
    return dc.run()
  • File "/opt/gnome2/lib64/gobject-introspection/giscanner/dumper.py", line 127 in run
    self._link(bin_path, o_path)
  • File "/opt/gnome2/lib64/gobject-introspection/giscanner/dumper.py", line 212 in _link
    subprocess.check_call(args)
  • File "/usr/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', '/space/svn/gnome/gstreamer/libs/gst/base/tmp-introspect7BtRqW/GstBase-0.10', '-L.', '-lgstbase-0.10', '-pthread', '-Wl,--export-dynamic', '-L/opt/gnome2/lib64', '-lgio-2.0', '-lgirepository-1.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/space/svn/gnome/gstreamer/libs/gst/base/tmp-introspect7BtRqW/GstBase-0.10.o']' returned non-zero exit status 1
make[4]: *** [GstBase-0.10.gir] Fehler 1


$ gcc -v
Using built-in specs.
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.4.1-4ubuntu8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --program-suffix=-4.4 --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --disable-werror --with-arch-32=i486 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.4.1 (Ubuntu 4.4.1-4ubuntu8)
Comment 1 Christian Kirbach 2009-11-08 21:23:24 UTC
hmm trace matches Bug 596224  that suspects 

"It seems the $(LIBTOOL) variable in the GLib-2.0.gir and related .gir targets
isn't correct. OpenBSD installs a libtool in /usr/local/bin/ , but this one is
not uses by gobject-introspection. Eventhough it's passed as an environment
variable to configure and make (as a flag to make as well).

So, replacing the $(LIBTOOL) variable with a full path to
/usr/local/bin/libtool fixes the issue for me. Although a more general solution
is desired I think."
Comment 2 Edward Hervey 2009-11-09 07:07:44 UTC
Are you sure it's not just the local link order which is wrong ? I had quite a few issues with those.

My guess is that it's picking a 'foreign' libgstbase.so to link against instead of the local (not-yet-installed but latest) libgstbase.so which contains the correct symbol.
Comment 3 Christian Kirbach 2009-11-14 15:03:43 UTC
Hmm shouldn't it figure that out on its own? Note that I am using jhbuild.
It might be using the system-wide libstbase.so#
Then again root@rivendell:/usr# find . -name libgstbase.so
yielded no results.
Comment 4 Tim-Philipp Müller 2009-11-15 23:32:33 UTC
> Then again root@rivendell:/usr# find . -name libgstbase.so
> yielded no results.

The name would be libgstbase-0.10.so
Comment 5 Christian Kirbach 2009-11-23 22:03:32 UTC
Ok I found it in /usr/lib and /usr/lib32

I moved away temporarily all libgst* files but to no effect. Hence I bet they do not link there.

I reproduced the call from the initial error message 

nazgul@rivendell:/space/svn/gnome/gstreamer/libs/gst/base$ ../../../libtool --mode=link --tag=CC --silent gcc -o /space/svn/gnome/gstreamer/libs/gst/base/tmp-introspectWHByVy/GstBase-0.10 -L. -lgstbase-0.10 -pthread -Wl,--export-dynamic -L/opt/gnome2/lib64 -lgio-2.0 -lgirepository-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 /space/svn/gnome/gstreamer/libs/gst/base/tmp-introspectWHByVy/GstBase-0.10.o
/space/svn/gnome/gstreamer/libs/gst/base/.libs/libgstbase-0.10.so: undefined reference to `gst_event_parse_sink_message'
/space/svn/gnome/gstreamer/libs/gst/base/.libs/libgstbase-0.10.so: undefined reference to `gst_pad_peer_get_caps_reffed'
/space/svn/gnome/gstreamer/libs/gst/base/.libs/libgstbase-0.10.so: undefined reference to `gst_pad_get_caps_reffed'
collect2: ld returned 1 exit status
nazgul@rivendell:/space/svn/gnome/gstreamer/libs/gst/base$ l
l: command not found
nazgul@rivendell:/space/svn/gnome/gstreamer/libs/gst/base$ ll
insgesamt 760
-rw-r--r-- 1 nazgul nazgul  26323 2009-11-23 22:33 gstadapter.c
-rw-r--r-- 1 nazgul nazgul   3626 2009-11-23 22:33 gstadapter.h
-rw-r--r-- 1 nazgul nazgul 146948 2009-11-23 22:33 gstbasesink.c
-rw-r--r-- 1 nazgul nazgul   9792 2009-11-23 22:33 gstbasesink.h
-rw-r--r-- 1 nazgul nazgul  92441 2009-11-23 22:33 gstbasesrc.c
-rw-r--r-- 1 nazgul nazgul   9975 2009-11-23 22:33 gstbasesrc.h
-rw-r--r-- 1 nazgul nazgul  80313 2009-11-23 22:33 gstbasetransform.c
-rw-r--r-- 1 nazgul nazgul  10368 2009-11-23 22:33 gstbasetransform.h
-rw-r--r-- 1 nazgul nazgul   9872 2009-11-23 22:33 gstbitreader.c
-rw-r--r-- 1 nazgul nazgul   3842 2009-11-23 22:33 gstbitreader.h
-rw-r--r-- 1 nazgul nazgul  34767 2009-11-23 22:33 gstbytereader.c
-rw-r--r-- 1 nazgul nazgul  19916 2009-11-23 22:33 gstbytereader-docs.h
-rw-r--r-- 1 nazgul nazgul  20598 2009-11-23 22:33 gstbytereader.h
-rw-r--r-- 1 nazgul nazgul  19962 2009-11-23 22:33 gstbytewriter.c
-rw-r--r-- 1 nazgul nazgul   6336 2009-11-23 22:33 gstbytewriter.h
-rw-r--r-- 1 nazgul nazgul  40228 2009-11-23 22:33 gstcollectpads.c
-rw-r--r-- 1 nazgul nazgul   6866 2009-11-23 22:33 gstcollectpads.h
-rw-r--r-- 1 nazgul nazgul  18625 2009-11-23 22:33 gstdataqueue.c
-rw-r--r-- 1 nazgul nazgul   5736 2009-11-23 22:33 gstdataqueue.h
-rw-r--r-- 1 nazgul nazgul   3569 2009-11-23 22:33 gstpushsrc.c
-rw-r--r-- 1 nazgul nazgul   2280 2009-11-23 22:33 gstpushsrc.h
-rw-r--r-- 1 nazgul nazgul  16209 2009-11-23 22:33 gsttypefindhelper.c
-rw-r--r-- 1 nazgul nazgul   2873 2009-11-23 22:33 gsttypefindhelper.h
-rw-r--r-- 1 nazgul nazgul   2449 2009-11-23 22:34 libgstbase-0.10.la
-rw-r--r-- 1 nazgul nazgul    328 2009-11-23 22:34 libgstbase_0.10_la-gstadapter.lo
-rw-r--r-- 1 nazgul nazgul    330 2009-11-23 22:34 libgstbase_0.10_la-gstbasesink.lo
-rw-r--r-- 1 nazgul nazgul    328 2009-11-23 22:34 libgstbase_0.10_la-gstbasesrc.lo
-rw-r--r-- 1 nazgul nazgul    340 2009-11-23 22:34 libgstbase_0.10_la-gstbasetransform.lo
-rw-r--r-- 1 nazgul nazgul    332 2009-11-23 22:34 libgstbase_0.10_la-gstbitreader.lo
-rw-r--r-- 1 nazgul nazgul    334 2009-11-23 22:34 libgstbase_0.10_la-gstbytereader.lo
-rw-r--r-- 1 nazgul nazgul    334 2009-11-23 22:34 libgstbase_0.10_la-gstbytewriter.lo
-rw-r--r-- 1 nazgul nazgul    336 2009-11-23 22:34 libgstbase_0.10_la-gstcollectpads.lo
-rw-r--r-- 1 nazgul nazgul    332 2009-11-23 22:34 libgstbase_0.10_la-gstdataqueue.lo
-rw-r--r-- 1 nazgul nazgul    328 2009-11-23 22:34 libgstbase_0.10_la-gstpushsrc.lo
-rw-r--r-- 1 nazgul nazgul    342 2009-11-23 22:34 libgstbase_0.10_la-gsttypefindhelper.lo
-rw-r--r-- 1 nazgul nazgul  40874 2009-11-23 22:34 Makefile
-rw-r--r-- 1 nazgul nazgul   2593 2009-11-23 22:33 Makefile.am
-rw-r--r-- 1 nazgul nazgul  45340 2009-11-23 22:34 Makefile.in
-rw-r--r-- 1 nazgul nazgul    131 2009-11-23 22:33 README
drwx------ 3 nazgul nazgul   4096 2009-11-23 22:34 tmp-introspectWHByVy
Comment 6 Wim Taymans 2009-12-01 16:07:13 UTC
What's up with this? surely something picks up a wrong version somewhere, the symbol is clearly defined in gstpad.c. It got renamed from _refed() at some point, make a make clean is needed or something.