[gst-devel] libtool requirement for plugins

Benjamin Otte in7y118 at public.uni-hamburg.de
Sun May 25 05:46:04 CEST 2003


On Fri, 23 May 2003 Murray.Cumming at Comneon.com wrote:

> > From: Benjamin Otte [mailto:in7y118 at public.uni-hamburg.de]
> > Using libtool < 1.5 requires you to figure out the C++
> > specific compiler
> > flags in configure. With the old libtool they are hardcoded into the
> > Makefile and every C++ plugin wass linked with -lstdc++
>
> I've heard about this before from Thomas, I think. I have no idea why you
> have to specify -lstdc++ manually. I've never done it for any C++ library.
> gtkmm works on gcc and Forte, by they way.
>
I wanted to talk to you about that but you weren't on IRC.
I read the tutorial on your webpage and tried to do it that way but
that issue doesn't come up there.
I made the Makefile.am look like this:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/gst/modplug/Makefile.am?rev=1.15&content-type=text/vnd.viewcvs-markup
After I built this thing with gcc and stock libtool < 1.5 the resulting
.so is not linked against libstdc++. This is not a problem if you use that
lib only in C++ programs because they link against libstdc++ by themselves
so you don't get the "unresolved symbols" in your app. As a gst plugin it
fails however because nothing else links against libstdc++.

The reason for this is easy to see:
The Makefile calls
> /bin/sh ../../libtool --mode=link g++  -g -O2 -o libgstmodplug.la ...
which causes libtool 1.5 to call
> g++ -shared ...
while libtool 1.4.x calls
> gcc -shared ...
and gcc doesn't link against libstdc++ by itself, while g++ does.

I would be very surprised if gtkmm libs were linking against libstdc++
without a Makefile explicitly specifying it. But if they do I'd be
interested in how you achieved this.

Benjamin





More information about the gstreamer-devel mailing list