[MPlayer-users] building mplayer using non-standard ffmpeg libs

The Wanderer inverseparadox at comcast.net
Thu Aug 30 00:08:38 CEST 2007


Nico Sabbi wrote:

> The Wanderer wrote:

>>> So, how can I compile mplayer effectively against ffmpeg from a
>>> non-standard location? ...the only options I've noticed about it
>>> are disabling libavcodec ...
> 
> in theory using pkg-config, but read below
> 
>> I'm not exactly an expert in this part, but I think what you're
>> asking for is to compile against previously-installed FFmpeg shared
>> libraries instead of using the libav* directories inside the source
>> tree. The '--disable-libav*_a' and '--enable-libav*_so' configure
>> options would appear to be intended for that purpose. (A ".a" file
>> is a static library, intended to be included in the binary at
>> compile time, and a ".so" file is a shared library, intended to be
>> accessed by the program at run time. Static library locations do
>> not need to be specified at compile time; they only need to be
>> known by your system linker.)
> 
> unfortunately compilation against external ffmpeg (the terms shared
> and static are often confused with external and internal, but they
> are not interchangable) was broken long ago

I don't remember it being mentioned, but it wouldn't surprise me.

As for "shared"/"static" vs. "external"/"internal": I was basing that
entirely on a combination of the existence and names of the options I
mentioned and vague memories of the last time I saw this discussed.

I've never heard of a way to use a shared library at compile time or a
static library at run time, and I don't see any way to use libraries
"internal"ly without doing it at compile time.

>> (If I'm wrong, and what you're asking for is the ability to compile
>> against libav* source directories which are located somewhere
>> other than in the MPlayer source tree: sorry, that isn't possible,
>> and I don't think it can reasonably be made possible because of the
>> design of the build system.)
> 
> cd main
> ln -s /non/standard/ffmpeg/libav* .

That occurred to me, but I remember it being explicitly stated at some
point that symlinks to the libav* directories would *not* work - that
copying was absolutely necessary. The given reason was something to do
with the build system.

Of course, the build system has been more or less revamped in various
ways since then, so it's entirely possible that that limitation has been
removed.

-- 
       The Wanderer

Warning: Simply because I argue an issue does not mean I agree with any
side of it.

Secrecy is the beginning of tyranny.



More information about the MPlayer-users mailing list