[LFS Trac] #2691: Zlib 1.2.5 issues

LFS Trac trac at linuxfromscratch.org
Sat Jun 19 15:21:05 PDT 2010


#2691: Zlib 1.2.5 issues
---------------------+------------------------------------------------------
 Reporter:  willimm  |       Owner:  lfs-book@…                   
     Type:  defect   |      Status:  new                          
 Priority:  normal   |   Milestone:  6.7                          
Component:  Book     |     Version:  SVN                          
 Severity:  normal   |    Keywords:                               
---------------------+------------------------------------------------------

Comment(by gespinasse):

 That's wrong to fix the static compilation when you want perl linked to
 shared lib, no?

 Compiler automaticly take the static libz.a when the shared libz.so is not
 found or the link to libz.so.1.2.5 is bad.
 At least I saw that with 5.10.1 when I made a mistake on the shared lib
 name.

 I haven't try with perl-5.12 and I am compiling 32-bits only and with
 gcc-4.4.4.
 I have compiled ipcop entire package list with the static zlib.a removed,
 so I  am sure the static libz.a was not include by a bug/mistake into
 perl.

 I look at my perl compilation script and at the sed on perl.
 I am doing

 {{{
 -e "s|LIB\s*= ./zlib-src|LIB        = /lib|"
 }}}
 when LFS is using

 {{{
 -e "s|LIB\s*= ./zlib-src|LIB        = /usr/lib|"
 }}}
 I understand I should be be wrong setting LIB to /lib but that work.

 Looking at the compilation log for -lz on LFS jhalf 094-perl build, I see

 {{{
 LD_RUN_PATH="/usr/lib" cc  -shared -O2 -L/usr/local/lib -fstack-protector
 Zlib.o  -o ../../lib/auto/Compress/Raw/Zlib/Zlib.so   \
            -L/usr/lib -lz       \
 }}}

 Compiler should find libz.{a,so} in /usr/lib and select to use libz.so

 What happen if you change the perl sed to set

 {{{
  LIB        = /lib
 }}}

 Check the shared lib is used with

 {{{
 [chroot-i486] root:/$ find <your path>/usr/lib/perl5 -name Zlib.so -exec
 ldd {} \;
         linux-gate.so.1 =>  (0xb7f2f000)
         libz.so.1 => /lib/libz.so.1 (0xb7f0f000)
         libc.so.6 => /lib/libc.so.6 (0xb7dac000)
         /lib/ld-linux.so.2 (0xb7f30000)
 }}}

-- 
Ticket URL: <http://wiki.linuxfromscratch.org/lfs/ticket/2691#comment:4>
LFS Trac <http://wiki.linuxfromscratch.org/lfs/>
Linux From Scratch: Your Distro, Your Rules.



More information about the lfs-book mailing list