On TechRepublic: 12 tech terms that make you sound old
BNET Business Network:
BNET
TechRepublic
ZDNet

By Evan Leibovitch
Posted on ZDNet News: Feb 25, 1999 12:00:00 AM

Despite its increasing ease of use and installation, there's a short-term compatibility problem between some versions of Linux and some of the binary software available for it. If you don't match up your Linux and your software properly, you could be in for some headaches.

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

SponsoredWhite Papers, Webcasts, and Downloads

Talkback

Add your opinion
advertisement
advertisement

White Papers, Webcasts, and Downloads

SmartPlanet

  • Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
  • More from IBM
  • Innovate your business' process model, play against the market, compete against others on our scoreboards and WIN! Try INNOV8 2.0: A BPM Simulator
  • Enabling Real-World Business Transformation through IBM Service Management Read the EMA Analyst Report
Click Here