[x264-devel] Dynamic linker uses the "versioned" x264 library, not generic
Loren Merritt
lorenm at u.washington.edu
Sun Oct 7 18:09:42 CEST 2012
On Sun, 7 Oct 2012, Elliot Saba wrote:
> The names aren't mangled with the version number inside the shared library,
x264_encoder_open_125
> if that's what you mean, and yes, almost all *nix libraries create a
> library of the form *libfoo.x.y.dylib* (or *.so*, if you prefer linux) but
> they also almost invariably generate a *libfoo.dylib* that is a symlink to
> the "versioned" one, along with a *libfoo.x.dylib*, where *x* denotes the
> "major" version and *y* denotes the "minor" version. Most libraries are
> setup in such a way that the "major" version preserves the API so that
> bugfixes, etc... can be transparently applied to applications without
> needing those applications to be relinked, whereas major breaking changes
> force a bump up in the major API version number, thus forcing a relink. My
> guess is the dynamic linker is getting confused by the nonstandard naming
> convention used by libx264, thinking that the *125* in *libx264.125.dylib* is
> a major version number.
125 is the major version number. The only relevant difference between x264
and other libs is that x264 makes ABI-incompatible changes frequently
(whenever we add an option, among other things).
--Loren Merritt
More information about the x264-devel
mailing list