Bug 46696 - rpm package missing zlib dependency
rpm package missing zlib dependency
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
6.2
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
David Lawrence
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-06-29 16:31 EDT by Curtis Doty
Modified: 2007-04-18 12:34 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-06-30 15:52:12 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Curtis Doty 2001-06-29 16:31:26 EDT
Description of Problem:
Cannot load /usr/lib/librpmio.so.0 unless zlib-1.1(?) is installed. 
However, rpm-4.0.2 does not have such requirement.

Steps to Reproduce:
# up2date -l       
Traceback (innermost last):
  File "/usr/sbin/up2date", line 9, in ?
    import rpm
ImportError: /usr/lib/librpmio.so.0: undefined symbol: gzseek

Additional Information:
This is a legacy Redhat 5.2 upgrade to 6.2.
# rpm -q --whatprovides librpmio.so.0
rpm-4.0.2-6x
# rpm -q zlib
zlib-1.0.4-2

Workaround:
Manually enforce rpm-4 dependency on zlib-1.1. (I guess.)
# rpm -U ftp://ftp.redhat.com/pub/redhat/redhat-6.2-
en/os/i386/RedHat/RPMS/zlib-1.1.3-6.i386.rpm

Ouila:
# up2date -l

Retrieving list of all available packages...

...yada yada...
Comment 1 Jeff Johnson 2001-06-30 12:14:11 EDT
But the rpm-4.0.2-6x package *does* depend on libz.so.1. Checking
	ftp://ftp.rpm.org/pub/rpm/dist/4.0.x/rpm-4.0.2-6x.i386.rpm
I see
$ rpm -qp --requires rpm-4.0.2-6x.i386.rpm
gawk  
fileutils  
textutils  
mktemp  
popt  
/bin/sh  
/sbin/ldconfig  
ld-linux.so.2  
libbz2.so.0  
libc.so.6  
libdb-3.1.so  
libdb.so.2  
libpopt.so.0  
librpm.so.0  
librpmbuild.so.0  
librpmio.so.0  
libz.so.1  
/bin/sh  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libdb.so.2(GLIBC_2.0)  
Comment 2 Curtis Doty 2001-06-30 15:52:08 EDT
Do *all* versions of libz.so.1 export gzseek? What I reported was zlib-1.0 may 
satisfy libz.so.1 but doesn't not export gzeek.

The gzseek function was available in the newer zlib-1.1 but the dependency was 
*NOT* reflected in the rpm package.

IOW, librpmio.so.0 provided by rpm-4.0 cannot load without a version of zlib 
that exports gzeek.
Comment 3 Jeff Johnson 2001-06-30 16:00:31 EDT
gzseek was added in zlib-1.0.4 IIRC. Recompile and install
a Red Hat 6.2 package for zlib
	rpm --rebuild zlib-1.1.3-6.src.rpm
and you should be fine.

FWIW, rpm itself never does a gzseek, but gzseek is part of the
rpmio API/ABI.
Comment 4 Curtis Doty 2001-06-30 16:26:24 EDT
Thanks for the input, jbj. But, as stated in the first post, I had already 
manually upgraded zlib to resolve the dependency. I'm fixed. Just trying to 
help you build a tighter product and document a defect for the next poor guy 
that stumbles across it.

My point (not sure if it's clear enough) is that the packaging system gave me 
*NO* indication of this dependency. Is adding 'Requires: zlib >= 1.1' to 
rpm.spec really that crazy of an idea?!?

Lastly, your assertion that gzseek was added to zlib-1.0.4 seems false. I had 
zlib-1.0.4-2 installed and gzseek was still undefined. You'll have to troll the 
various releases of zlib to find when it was really added...I'm only guesssing 
1.1 since that's what worked for me. (1.0.4 -> 1.1.3)

Note You need to log in before you can comment on or make changes to this bug.