Here's why: A single special file on all Linux systems, almost as critical to normal operations as the kernel, called 'libc' (pronounced lib-SEE). Usually resting in the /lib directory, it's a shared library file containing basic functions that are used by most of Linux's binary programs. Libc is akin to a Windows DLL but even more important; without it most binary programs on a Linux system couldn't run.
Why is this file worth mentioning now? Because the Linux libc is undergoing a substantial upgrade, and the new version isn't compatible with the old one. Understanding what's happening is the first step toward not getting burned when you try to install that new word processor.
A Little History
While the open-source version of libc originated within the GNU project,
the Linux version branched off and maintained its own development.
Until somewhere around release 5.4.38 of Linux libc, most Linux systems used the same version of libc.
But a bit more than a year ago, the Linux libc developers decided to merge their efforts back into the GNU efforts, so that release 6 of the Linux libc would synchronize with release 2 of GNU's libc, known in common parlance as "glibc" (pronounced JEE-lib-SEE).
Glibc is a significant technological step forward; more compliance with traditional Unix programming standards and better internationalization are among its many benefits. But along with these advances have come some significant pains, one being that software written for libc won't run with glibc, and vice versa.
The GNU folk have never cared much about end-user issues such as backwards compatibility; come to think of it, they've never cared much for end users period. So programs that were compiled to run with glibc could not run on a system that only used the older Linux libc 5. As a result, Linux packagers, programmers, and end-users have been on a bit of a wild ride that's far from over.
The most important thing to know now is which libc your own Linux uses. Versions based on glibc include Red Hat 5.0, SuSE 6.0, Debian 2.0, or any later releases of these three. The next edition of Caldera will have it too.
When obtaining binary versions of Linux applications, make sure that the library it was developed for matches that of your Linux version. Most programs that use glibc say so explicitly.
The situation would be messy enough if that was all. But apparently some developers jumped the gun developing with glibc. As a result, the growing pains haven't subsided for users of some big-name software. More on this next week.
Has the libc switchover affected you? Let us know in the ZDNet Linux Forum. Or write to Evan directly at evan@starnix.com.
Related Links:
GNU glibc homepage
Red Hat White Paper on glibc
The glibc2 HOWTO



