Zlib-1.2.1
Prev | Chapter 6. Installing basic system software | Next

## Zlib-1.2.1

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.

### Installation of Zlib

| Note
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

### Contents of Zlib

Installed libraries: libz[a,so]

### Short description

libz* contains compression and un-compression functions used by some programs.

Prev | Up | Next
Coreutils-5.2.1 | Home | Mktemp-1.5