[gst-devel] symbol conflicts

David I. Lehn dlehn at vt.edu
Wed Mar 20 13:40:05 CET 2002

I was working on the debs (they are in releases/debian/tmp if you want
to look) but have a slight problem now.  gst-register and -compprep are
segfaulting.  Well... 2 issues really, first is they have an ugly
warning when no X is present, but that succeeds.  When X display is
available they segfault.  Here's a backtrace:

#0  0x4013b01f in g_object_set () from /usr/lib/libgobject-1.3.so.15
#1  0x40ae6c1a in gst_xwindow_new () from /usr/lib/gst/libvideosink.so
#2  0x40f7dda1 in gst_xvideosink_get_type () from
#3  0x40f7e013 in gst_xvideosink_get_type () from
#4  0x40044b7b in gst_plugin_load_absolute ()
   from /usr/lib/libgstreamer-0.3.3.so.0

Note xvideosink is calling into videosink lib.  Seems we have symbol
issues.  I'm guessing this has something to do with gst-register loading
all the plugins.  Both libxvideosink.so and libvideosink.so have
exported similar symbols such as gst_xwindow_new.

I guess we'll have to either make sure plugins don't have common symbols
or start restricting exported symbols with ld.  This becomes much easier
if we just declare that "plugin_desc" is the only exported symbol.  Is
this the way it's suppoesd to work?  (except for the lib plugins like
bytestream of course)

Why do we have both videosink and xvideo dirs?  Can we choose one?

David I. Lehn <dlehn at vt.edu>  | http://www.lehn.org/~dlehn/
Computer Engineering Graduate @ Virginia Tech in sunny Blacksburg, VA

More information about the gstreamer-devel mailing list