[x264-devel] Dynamic linker uses the "versioned" x264 library, not generic

Jan Ekström jeebjp at gmail.com
Sun Oct 7 17:09:28 CEST 2012


On 2012/10/07 1:45, Elliot Saba wrote:
> Hello, all.  I'm here trying to figure out why, on my machine (OSX 10.8.2, clang compiler, using Homebrew as a package manager) my dynamic linker picks out the "versioned" x264 library, not the generic one.  As I am on OSX, this turns out to be *libx264.125.dylib*, as opposed to the generic symlink *libx264.dylib*.
>
> This is a problem as whenever libx264 gets a version bump, I then have to re-link all software that uses libx264.  A real-world example:
>
> *$ otool -L `which ffmpeg` | grep x264*
> */Users/sabae/.homebrew/lib/libx264.125.dylib (compatibility version 0.0.0, current version 0.0.0)*
>
> No other software on my computer does this, and it's not something inherent in the Homebrew method of compiling ffmpeg, because even if I download ffmpeg-1.0 source, configure with *--enable-gpl --enable-libx264* and *make*, I still end up with an *ffmpeg* executable dynamically linked to *libx264.125.dylib*.
>
> Thank you,
> -E
>
>
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> http://mailman.videolan.org/listinfo/x264-devel
Linking to the versioned library is intentional as far as I can tell. Every time the API version gets bumped, there is absolutely no guarantee that what you were linking will still work (actually, I'm pretty sure it will fail because the main API calls are IIRC also "versioned" as well). This is not limited to x264, either. Actually, most of the libraries I have on the *nix systems I have access to have "versioned" library files.

Jan E


More information about the x264-devel mailing list