Procházet zdrojové kódy

Revert zlib to doing separate builds for
static and dynamic libraries to ensure the -fPIC parameter
is set properly in both cases.


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8932 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Bruce Dubbs před 16 roky
rodič
revize
ea2dfe7386
4 změnil soubory, kde provedl 38 přidání a 14 odebrání
  1. 6 0
      chapter01/changelog.xml
  2. 2 1
      chapter01/whatsnew.xml
  3. 28 11
      chapter06/zlib.xml
  4. 2 2
      general.ent

+ 6 - 0
chapter01/changelog.xml

@@ -40,6 +40,12 @@
     <listitem>
       <para>2009-05-27</para>
       <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - Revert zlib to doing separate builds for
+          static and dynamic libraries to ensure the -fPIC parameter
+          is set properly in both cases.
+          Fixes <ulink url="&lfs-ticket-root;2329">#2329</ulink> (again).</para>
+        </listitem>
         <listitem>
           <para>[bdubbs] - Update gettext patch to -2 for an additional 
           bug fix.  Thanks to Robert Connolly for the patch.

+ 2 - 1
chapter01/whatsnew.xml

@@ -307,10 +307,11 @@
     <listitem>
       <para>vim-7.2-fixes-3.patch</para>
     </listitem>
+    <!--
     <listitem>
       <para>zlib-1.2.3-fPIC-1.patch</para>
     </listitem>
-
+    -->
   </itemizedlist>
 
 </sect1>

+ 28 - 11
chapter06/zlib.xml

@@ -47,17 +47,12 @@
       a specified <envar>CFLAGS</envar> variable, be sure to add the
       <parameter>-fPIC</parameter> directive to the <envar>CFLAGS</envar>
       variable for the duration of the configure command below, then
-      remove it afterwards.</para>
+      remove it when building the static library.</para>
     </note>
 
-    <para>Modify the build scripts to ensure compilation with position independent
-    code and allow building both static and dynamic libraries in one step:</para>
+    <para>Prepare Zlib for building the dynamic library:</para>
 
-<screen><userinput remap="configure">patch -Np1 -i ../&zlib-fpic-patch;</userinput></screen>
-
-    <para>Prepare Zlib for compilation:</para>
-
-<screen><userinput remap="configure">./configure --prefix=/usr --shared</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --shared --libdir=/lib</userinput></screen>
 
     <para>Compile the package:</para>
 
@@ -67,13 +62,35 @@
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>Install the libraries:</para>
+    <para>Install the shared library:</para>
+
+<screen><userinput remap="install">make install</userinput></screen>
+
+    <para>The previous command installed a <filename
+    class="extension">.so</filename> file in <filename
+    class="directory">/lib</filename>. We will remove it and relink it into
+    <filename class="directory">/usr/lib</filename>:</para>
+
+<screen><userinput remap="install">rm -v /lib/libz.so
+ln -sfv ../../lib/libz.so.&zlib-version; /usr/lib/libz.so</userinput></screen>
+
+    <para>Build the static library:</para>
+
+<screen><userinput remap="make">make clean
+./configure --prefix=/usr
+make</userinput></screen>
+
+    <para>To test the results again, issue:</para>
+
+<screen><userinput remap="test">make check</userinput></screen>
+
+    <para>Install the static library:</para>
 
 <screen><userinput remap="install">make install</userinput></screen>
 
-    <para>Finally, fix permissions on the static library:</para>
+    <para>Fix the permissions on the static library:</para>
 
-<screen><userinput remap="install">chmod 0644 /usr/lib/libz.a</userinput></screen>
+<screen><userinput remap="install">chmod -v 644 /usr/lib/libz.a</userinput></screen>
 
   </sect2>
 

+ 2 - 2
general.ent

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-20090526">
-<!ENTITY releasedate "May 26, 2009">
+<!ENTITY version "SVN-20090527">
+<!ENTITY releasedate "May 27, 2009">
 <!ENTITY copyrightdate "1999-2009"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "6.5">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->