%general-entities; ]> Zlib-&zlib-version; Zlib <para>The Zlib package contains compression and un-compression routines used by some programs.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem> </segmentedlist> <segmentedlist> <segtitle>Zlib installation depends on</segtitle> <seglistitem><seg>Binutils, Coreutils, GCC, Glibc, Make, Sed</seg></seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of Zlib 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* libz* contains compression and un-compression functions used by some programs.