2002-08-04 15:59:31 +01:00
|
|
|
<sect1 id="ch06-zlib">
|
|
|
|
<title>Installing Zlib-&zlib-version;</title>
|
|
|
|
<?dbhtml filename="zlib.html" dir="chapter06"?>
|
|
|
|
|
|
|
|
<screen>Estimated build time: &zlib-time;
|
|
|
|
Estimated required disk space: &zlib-compsize;</screen>
|
|
|
|
|
2003-01-16 00:59:20 +00:00
|
|
|
&aa-zlib-shortdesc;
|
2003-11-15 16:07:18 +00:00
|
|
|
&aa-zlib-dep;
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<sect2><title> </title><para> </para></sect2>
|
|
|
|
|
|
|
|
<sect2>
|
|
|
|
<title>Installation of Zlib</title>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>Prepare Zlib for compilation:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<screen><userinput>./configure --prefix=/usr --shared</userinput></screen>
|
|
|
|
|
2003-11-20 00:45:59 +00:00
|
|
|
<note><para>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 <emphasis role="strong">-fPIC</emphasis> directive to your
|
|
|
|
CFLAGS for the duration of the above command, then remove it
|
|
|
|
afterwards.</para></note>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<para>Compile the package:</para>
|
|
|
|
|
|
|
|
<screen><userinput>make</userinput></screen>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>This package has a test suite available which can perform a number of
|
|
|
|
checks to ensure it built correctly. The test suite for Zlib is quick and
|
|
|
|
painless so we recommend it be run. The following command will test the shared
|
|
|
|
library:</para>
|
|
|
|
|
|
|
|
<screen><userinput>make check</userinput></screen>
|
|
|
|
|
|
|
|
<para>Install the shared library:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<screen><userinput>make install</userinput></screen>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>Now also build the non-shared (static) library:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
<screen><userinput>make clean
|
|
|
|
./configure --prefix=/usr
|
|
|
|
make</userinput></screen>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>The following command will test the static library:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<screen><userinput>make check</userinput></screen>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
2003-12-18 00:09:28 +00:00
|
|
|
<para>Install the static library:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<screen><userinput>make install</userinput></screen>
|
|
|
|
|
2003-12-18 00:09:28 +00:00
|
|
|
<para>And fix the permissions on the static library:</para>
|
|
|
|
|
|
|
|
<screen><userinput>chmod 644 /usr/lib/libz.a</userinput></screen>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>It is good policy and common practice to place important libraries into
|
|
|
|
the <filename class="directory">/lib</filename> directory. This matters most
|
|
|
|
in scenarios where <filename class="directory">/usr</filename> is on a
|
|
|
|
separate partition. Essentially, the run-time components of any libraries
|
|
|
|
depended upon by programs in <filename class="directory">/bin</filename> or
|
|
|
|
<filename class="directory">/sbin</filename> should reside in
|
|
|
|
<filename class="directory">/lib</filename> so that they are on the root
|
|
|
|
partition and available in the event of
|
|
|
|
<filename class="directory">/usr</filename> being inaccessible.</para>
|
|
|
|
|
|
|
|
<para>Therefore we move the run-time components of the shared Zlib into
|
|
|
|
<filename class="directory">/lib</filename> by issuing the following
|
|
|
|
command:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<screen><userinput>mv /usr/lib/libz.so.* /lib</userinput></screen>
|
|
|
|
|
2003-11-27 02:32:47 +00:00
|
|
|
<para>Now we need to fix up the <filename>/usr/lib/libz.so</filename> symlink
|
|
|
|
because we just moved the location of the file it points to:</para>
|
2003-11-01 22:31:50 +00:00
|
|
|
|
|
|
|
<screen><userinput>ln -sf ../../lib/libz.so.1 /usr/lib/libz.so</userinput></screen>
|
|
|
|
|
|
|
|
</sect2>
|
2002-08-04 15:59:31 +01:00
|
|
|
|
|
|
|
</sect1>
|
|
|
|
|