[vlc-devel] [PATCH] Fix live555media libraries link order

Brad brad at comstyle.com
Sat Nov 21 00:18:49 CET 2009


On Friday 20 November 2009 18:02:20 Rafaël Carré wrote:
> Le Fri, 20 Nov 2009 16:49:42 -0500,
>
> Brad <brad at comstyle.com> a écrit :
> > On Friday 20 November 2009 09:55:59 Rémi Duraffort wrote:
> > > > Since at least vlc 1.0.2, compiling vlc with a static version of a
> > > > recent version of the live555media library (the version released
> > > > on 2009/11/12 for instance) results in the following warning
> > > > while loading the liblive555_plugin.so module:
> > >
> > > Ping ? someone to comment on this patch ?
> >
> > Regarding live555 and VLC...
> >
> > I'm in the process of upgrading VLC for the OS I use and there are a
> > few rough edges with VLC. One of them is the live555 support. At the
> > moment I don't see how this even builds as VLC is trying to link an
> > archive to a shared object which cannot be done with libtool. So no
> > surprise the live555 plugin does not build.
>
> It builds fine here without the patch (2008.07.25 version)
>
> What makes you think linking can't be done with libtool ?

Read below. (Essentially) libtool cannot link an archive against a shared 
object. It has no means of detecting whether the objects inside are PIC
code or not. Though _pic.a archives are different as that clearly indicates
the existence of PIC code. But liveMedia does not build such archives by
default.

> Extract from compilation:
>
> libtool: link: g++ -shared
> -nostdlib /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crti.o
> /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtbeginS.o 
> .libs/liblive555_plugin_la-live555.o .libs/liblive555_plugin_la-asf.o
> .libs/liblive555_plugin_la-buffer.o -Wl,--whole-archive
> ../../compat/.libs/libcompat.a
> -Wl,--no-whole-archive  -Wl,-rpath -Wl,/home/fun/vlc/src/.libs
> -Wl,-rpath -Wl,/home/fun/.local/vlc/lib -lpthread -lliveMedia_pic
> -lgroupsock_pic -lBasicUsageEnvironment_pic
> -lUsageEnvironment_pic ../../src/.libs/libvlccore.so
> -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1
> -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib -L/lib/../lib
> -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../..
> -L/usr/lib/x86_64-linux-gnu -lstdc++ -lm -lc
> -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtendS.o
> /usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crtn.o -mtune=athlon64 
>  -Wl,-soname -Wl,liblive555_plugin.so
> -o .libs/liblive555_plugin.so
>
> Perhaps libtool just doesn't work on your mysterious OS

Your build is using libMedia_pic which is not built with the default
liveMedia.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the vlc-devel mailing list