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

Gilles Chanteperdrix gilles.chanteperdrix at xenomai.org
Sat Nov 21 00:47:09 CET 2009


Brad wrote:
> 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.

As the newbie I am I tried first to compile vlc with a version of the
livemedia libraries built without -fPIC. I got an error indicating
clearly that I should rebuild the library with -fPIC.

-- 
					    Gilles.




More information about the vlc-devel mailing list