[wp-hackers] Facebook API and WordPress Plugin Development - Insight / Best Practice

Bryan Petty bryan at ibaku.net
Thu Nov 15 05:37:56 UTC 2012


On Wed, Nov 14, 2012 at 5:13 PM, Otto <otto at ottodestruct.com> wrote:
> In Unix/Linux, they "solved" it by basically making libraries either
> dynamically loaded, or statically loaded. Thus, for any given binary,
> it can opt to use the latest version on the system (which is centrally
> managed), or it can opt to be compiled in a static manner, where it
> contains its own copy of any particular library. If there's a breaking
> change to a library and a binary uses it in a dynamic way, then the
> binary will generally simply crash, depending on the severity of the
> change. Libraries that tend to change a lot thus tend to get compiled
> in a static fashion more often. It's a very decentralized solution to
> the problem, developers will make the decision on their own, but users
> can compile too and recompile if stuff starts breaking. Linux people
> tend to be DIY-ers a lot, so it works for them.

Statically linking libraries is usually done for a different reason.
You can still distribute a custom version of a dynamically linked
library along with your application (and link to that instead of the
system-provided versions).

If there's an ABI-incompatible change in a library, it's done in a new
stable branch of the library, and is provided as another dynamic
library with the ABI version indicated in the filename. Pretty much
all systems (including Windows) provide multiple ABI versions of the
library available to link to (depending on which versions are still in
use). You can see those version numbers in the library names in
/usr/lib.

Not that any of that helps here, but it's still interesting.

Regards,
Bryan Petty


More information about the wp-hackers mailing list