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 641178 - rtpvp8: build problem, needs to link with libgstbase-0.10
rtpvp8: build problem, needs to link with libgstbase-0.10
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal critical
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-02-01 19:46 UTC by brofkims
Modified: 2011-02-01 20:14 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
a patch to gstreamer.pc.in of gstreamer-0.10.32.1+git20110131 (473 bytes, patch)
2011-02-01 19:46 UTC, brofkims
rejected Details | Review

Description brofkims 2011-02-01 19:46:14 UTC
Created attachment 179829 [details] [review]
a patch to gstreamer.pc.in of gstreamer-0.10.32.1+git20110131

1. I use Ubuntu 11.04(natty, gcc-4.5.2) and git version of gstreamer family.

2. From yesterday on I noticed gstreamer-plugins-bad-0.10.32.1+git20110131 could not be built without modifying /usr/lib/pkgconfig/gstreamer-0.10.pc.
The build process aborts at the time of linking .libs/libgstrtpvp8.so.
Error messages are as follows:

3. I found that warnings such as 'undefined refernce to gst_adapter_new' at link time is due to unspecified libgstbase-0.10.so, and this is part of gstreamer-0.10.32.1.

4. As a try, I manually added '-lgstbase-0.10 to relevant part of /usr/lib/pkgconfig/gstreamer-0.10.pc, and build process of gst-plugins-bad-0.10.3.2.1+git20110131 was flawlessly completed.

5. A patch to gstreamer-0.10.32.1+git20110131

--- gstreamer0.10-0.10.32.1+git20110131.orig/pkgconfig/gstreamer.pc.in  2010-10-08 21:45:01.000000000 +0900
+++ gstreamer0.10-0.10.32.1+git20110131/pkgconfig/gstreamer.pc.in       2011-02-02 04:00:27.000000000 +0900
@@ -13,5 +13,5 @@
 Description: Streaming media framework
 Requires: @GST_PKG_DEPS@@LIBXML_PKG@
 Version: @VERSION@
-Libs: -L${libdir} -lgstreamer-@GST_MAJORMINOR@
+Libs: -L${libdir} -lgstreamer-@GST_MAJORMINOR@ -lgstbase-@GST_MAJORMINOR@
 Cflags: -I${includedir}

....
 libtool: link: /usr/bin/nm -B  .libs/libgstrtpvp8_la-gstrtpvp8.o .libs/libgstrtpvp8_la-gstrtpvp8depay.o .libs/libgstrtpvp8_la-gstrtpvp8pay.o   | sed -n -e 's/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > .libs/libgstrtpvp8.exp
libtool: link: /bin/grep -E -e "^_*gst_plugin_desc$" ".libs/libgstrtpvp8.exp" > ".libs/libgstrtpvp8.expT"
libtool: link: mv -f ".libs/libgstrtpvp8.expT" ".libs/libgstrtpvp8.exp"
libtool: link: echo "{ global:" > .libs/libgstrtpvp8.ver
libtool: link:  cat .libs/libgstrtpvp8.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libgstrtpvp8.ver
libtool: link:  echo "local: *; };" >> .libs/libgstrtpvp8.ver
libtool: link:  gcc -shared  .libs/libgstrtpvp8_la-gstrtpvp8.o .libs/libgstrtpvp8_la-gstrtpvp8depay.o .libs/libgstrtpvp8_la-gstrtpvp8pay.o   -lgstrtp-0.10 /usr/lib/libgstreamer-0.10.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libxml2.so /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so  -pthread -pthread -Wl,-Bsymbolic-functions -Wl,-z -Wl,defs -Wl,-O1 -Wl,--as-needed -pthread -pthread   -pthread -Wl,-soname -Wl,libgstrtpvp8.so -Wl,-version-script -Wl,.libs/libgstrtpvp8.ver -o .libs/libgstrtpvp8.so
.libs/libgstrtpvp8_la-gstrtpvp8depay.o: In function `gst_rtp_vp8_depay_init':
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:52: undefined reference to `gst_adapter_new'
.libs/libgstrtpvp8_la-gstrtpvp8depay.o: In function `gst_rtp_vp8_depay_process':
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:120: undefined reference to `gst_adapter_clear'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:154: undefined reference to `gst_adapter_push'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:171: undefined reference to `gst_adapter_clear'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:160: undefined reference to `gst_adapter_available'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8depay.c:160: undefined reference to `gst_adapter_take_buffer'
.libs/libgstrtpvp8_la-gstrtpvp8pay.o: In function `gst_rtp_vp8_pay_parse_frame':
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8pay.c:134: undefined reference to `gst_bit_reader_new_from_buffer'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8pay.c:301: undefined reference to `gst_bit_reader_free'
/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8/gstrtpvp8pay.c:306: undefined reference to `gst_bit_reader_free'
collect2: ld returned 1 exit status
make[4]: *** [libgstrtpvp8.la] error 1
make[4]: Leaving directory `/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst/rtpvp8'
make[3]: *** [rtpvp8] error 2
make[3]: Leaving directory `/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201/gst'
make[2]: *** [all-recursive] error 1
make[2]: Leaving directory `/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201'
make[1]: *** [all] error 2
make[1]: Leaving directory `/home/brofkims/build/gst-plugins-bad0.10-0.10.21.1+git20110201'
make: *** [debian/stamp-makefile-build] error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
Comment 1 Tim-Philipp Müller 2011-02-01 20:14:06 UTC
That's not the right solution. The plugin needs to link against libgstbase-0.10 as well if it uses those APIs.

Should be fixed in -bad git now:

 commit 17c2b30e9ba502a1a7b6b7e14c63ebc6f43ec908
 Author: Tim-Philipp Müller <tim.muller@collabora.co.uk>
 Date:   Tue Feb 1 20:01:13 2011 +0000

    rtpvp8: also link against libgstbase-0.10 for adapter and bit reader API
    
    https://bugzilla.gnome.org/show_bug.cgi?id=641178

Thanks for the bug report and patch.