Linux/i386 libc5 compatibilities libs in RPM format

When I upgraded my Linux® i386 system from libc5 to libc6 (also known as GNU libc 2) I needed, for compatibility purposes, a lot of libraries linked against libc5; so I made a set of rpm compatibility packages for my own use.
As a lot of people asked me for them and another lot have had upgrade problems I put them here so anyone can use them too.
They are built from the Red Hat 4.2 libs, I just moved the libs to /usr/i486-linuxlibc5/lib, and made binary rpm package with nly the libs; with a new name and files in a new path to avoid conflicts.
If you want the sources just get the original *.src.rpm from RH 4.2 and compile it yourself. I'm not willing to provide *.src.rpm packages for libc5 on libc6, my purpose is not that; it is only to provide an easy way to make the transition from libc5 to libc6. If you are going to compile you can just do the rpm packages yourself; or better yet, compile and link your old programas against libc6.
Note also that I will remove this page in a near future, when the last remaining libc5 distributiosn will switch to libc6.

How to use them ?

That is very easy, just add /usr/i486-linuxlibc5/lib to the file /etc/ld.so.conf and rerun ldconfig; then install any package you need.

How does I know I need foobar-libc5 ?

Run rpm -q --whatrequires libc.so.5, then for each one of those packages run rpm -q --requires package-name | grep lib.*.so.
You need a libc5 version for each one of those libs.

Can I remove foobar-libc5 ?

Run rpm -q --whatrequires `rpm -q --provides foobar-libc5 | grep lib.*.so`; you now have a list of packages that use the libs that foobar-libc5 provide; but does they use the libc6 or the libc5 one ? Run rpm -q --requires package-name | grep libc.so to know. If none of the packages yields libc.so.5 then you can safely remove foobar-libc5.

Can I compile in libc5 format ?

Yes, you can install a package libc5-devel that includes all the needed things to make libc5 executables on a libc6 system (you need to also install libc5 libraries to link to of course).

You can drop me an email, or look at my web page. Here is my PGP public key.

My ldd doesn't work

Yes, the ldd that comes with glibc is a simple shell script that only handles glibc binaries, if you have libc5 or a.out it is useless. You need to either get the ld.so soruces, recompile them and get the ldd from there; or you can download a precompiled ldd from here, uncompress it, make it executable, and copy it in /usr/bin/ldd (don't forgot to reinstall it after each upgrade of glibc)
Then you will have an ldd that will correctly report the right info for all Linux executables: glibc, libc5 and even a.out.


Total number of hits since 1999-03-04:
db-libc5-1.85-3.i386.rpm (33200) DB provides routines for creating simple database indexes. It is used by many applications, including Python and Perl, so this should be installed on all systems. This is version 1 only. It should be used for building apps that require v1 support only. All new apps should be written to use version 2 from glibc.
gdbm-libc5-1.7.3-1.i386.rpm (13029) This is a database indexing library. It is useful for those who need to write C applications and need access to a simple and efficient database or build C applications which use it.
gpm-libc5-1.12-1.i386.rpm (10171) GPM adds mouse support to text-based Linux applications such as emacs, Midnight Commander, and more. It also provides console cut-and-paste operations using the mouse. Includes a program to allow pop-up menus to appear at the click of a mouse button.
libpng-libc5-0.89c-1.i386.rpm (39912) The PNG library is a collection of routines used to crate and manipulate PNG format graphics files. The PNG format was designed as a replacement for GIF, with many improvements and extensions.
libtermcap-libc5-2.0.8-2.i386.rpm (7465) This is the library for accessing the termcap database. libc5 version
p2c-libc5-1.20-1.i386.rpm (8092) p2c is the Pascal to C translation system. It is used to convert Pascal source code into C source code so that it can be compiled using a standard C compiler (such as gcc).
readline-libc5-2.0-1.i386.rpm (63262) The "readline" library will read a line from the terminal and return it, allowing the user to edit the line with the standard emacs editing keys. It allows the programmer to give the user an easier-to-use and more intuitive interface.
slang-libc5-0.99.33-3.i386.rpm (83446) Slang (pronounced ``sssslang'') is a powerful stack based interpreter that supports a C-like syntax. It has been designed from the beginning to be easily embedded into a program to make it extensible. Slang also provides a way to quickly develop and debug the application embedding it in a safe and efficient manner. Since slang resembles C, it is easy to recode slang procedures in C if the need arises.
svgalib-libc5-1.2.10-1.i386.rpm (149672) VGAlib is a library which allows applications to use full screen graphics on a variety of hardware platforms. Many games and utilities are avaiable which take advantage of SVGAlib for graphics access, as it is more suitable for machines with little memory then X Windows is.
tcl-libc5-7.6pl2-1.i386.rpm (126517) TCL is a simple scripting language that is designed to be embedded in other applications. This package includes tclsh, a simple example of a tcl application. TCL is very popular for writing small graphical applications because of the TK widget set which is closely tied to it.
tclx-libc5-7.6.0rel-1.i386.rpm (67229) TclX is a set of extensions to make it more suitable for common Unix programming tasks. It adds or enhances support for files, network access, debugging, math, lists, and message catalogs. It can be used with both tcl and tcl/tk applications.
xpm-libc5-3.4h-1.i386.rpm (30167) Allows applications to display bitmapped pictures. Used by a large number of popular X Windows programs to enhance the user interface.
zlib-libc5-1.0.4-1.i386.rpm (24760) The 'zlib' compression library provides in-memory compression and decompression functions, including integrity checks of the uncompressed data. This version of the library supports only one compression method (deflation) but other algorithms may be added later and will have the same stream interface. This library is used by a number of different system programs.


Last modification :1999-07-25