The Zlib package contains compression and un-compression routines used by some programs.
Approximate build time: 0.1 SBU Required disk space: 1.5 MB
Zlib installation depends on: Binutils, Coreutils, GCC, Glibc, Make, Sed.
Zlib is known to build its shared library incorrectly if CFLAGS is specified in the environment. If you are using your own CFLAGS variable, be sure to add the -fPIC directive to your CFLAGS for the duration of the below configure command, then remove it afterwards.
Prepare Zlib for compilation:
./configure --prefix=/usr --shared
Compile the package:
make
To test the results, issue: make check.
Install the shared library:
make install
Now also build the non-shared (static) library:
make clean ./configure --prefix=/usr make
To again test the results, issue: make check.
Install the static library:
make install
And fix the permissions on the static library:
chmod 644 /usr/lib/libz.a
It is good policy and common practice to place important libraries into the /lib directory. This matters most in scenarios where /usr is on a separate partition. Essentially, the run-time components of any libraries that are used by programs in /bin or /sbin should reside in /lib so that they are on the root partition and available in the event of /usr being inaccessible.
For the above reason we move the run-time components of the shared Zlib into /lib:
mv /usr/lib/libz.so.* /lib
Now we need to fix the /usr/lib/libz.so symlink because we just moved the file it points to:
ln -sf ../../lib/libz.so.1 /usr/lib/libz.so