glibc2 Or

You probably know that libc is the library that includes all the standard C commands (such as printf, read, open, etc.and so on) as well as system calls. Up until 1997, the only library available was the GNU libc v1, which since the move to ELF binary format was given major number 5 (/lib/ In 1997, the Free Software Foundation developed GNU libc v2, with the intention of being cleaner, more portable, and more standard (POSIX compliant). Under Linux, this version got major number 6, hence it's called libc6. These two libraries are incompatible -- if a program is compiled with one libc's headers and stubs, it can't be used with the other. Some of the distributions (RedHat since version 5, Debian since 2, SuSE since 6, and Slackware since 4) have moved to libc6 (meaning that most binaries are compiled with libc6, and the development environment contains libc6 headers and produces programs that work only with libc6). The distributions still contain libc5, as well as other libraries that are linked with libc5, in order to run libc5 binaries, which will usually be programs where the source is not available (such as Quake, etc). The problem is that if a user of the system wants to use a new version of one of thoese libraries, s/he can't compile them, because only libc6 programs or libraries can be produced.

- Matan Ziv-Av