Bug 60802

Summary: rpm install fails on a satisfied dependency
Product: [Retired] Red Hat Linux Reporter: Rick Jenkins <rick>
Component: rpmAssignee: Jeff Johnson <jbj>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-03-06 22:59:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rick Jenkins 2002-03-06 22:12:16 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:0.9.4) Gecko/20011126
Netscape6/6.2.1

Description of problem:
The terminal session below shows a package install failing 
because of a missing dependency. It also shows that the 
required package is installed, and that rpm can see it. Is 
this a bug, or do I merely misunderstand the situation?
Note that I tried an 

rpm --rebuilddb

which apparently succeeded, in that it ran for a while and
terminated with no messages.

[root@fafnir download]#  rpm -i --test perl-Term-ReadLine-Gnu-1.11-1.i386.rpm
error: failed dependencies:
        libreadline.so.4   is needed by perl-Term-ReadLine-Gnu-1.11-1
[root@fafnir download]#  rpm -q readline-4.1-9
readline-4.1-9
[root@fafnir download]#  rpm -ql readline-4.1-9
/usr/lib/libhistory.so.4
/usr/lib/libhistory.so.4.1
/usr/lib/libreadline.so.4
/usr/lib/libreadline.so.4.1
/usr/share/info/history.info.gz
/usr/share/info/readline.info.gz
/usr/share/info/rluserman.info.gz
/usr/share/man/man3/readline.3.gz
[root@fafnir download]# ls -l /usr/lib/libreadline*
-rw-r--r--    1 root     root       218440 Apr  7  2001 /usr/lib/libreadline.a
lrwxrwxrwx    1 root     root           18 Nov 19 13:30 /usr/lib/libreadline.so
-> libreadline.so.4.1
lrwxrwxrwx    1 root     root           18 Nov 19 13:41
/usr/lib/libreadline.so.3 -> libreadline.so.3.0
-rw-r--r--    1 root     root       168423 Jul 12  2000 /usr/lib/libreadline.so.3.0
lrwxrwxrwx    1 root     root           18 Nov 19 12:33
/usr/lib/libreadline.so.4 -> libreadline.so.4.1
-rwxr-xr-x    1 root     root       177511 Apr  7  2001 /usr/lib/libreadline.so.4.1


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1.See terminal session above
2.
3.
	

Additional info:

Comment 1 Jeff Johnson 2002-03-06 22:15:50 UTC
What does
	rpm -q --whatprovides libreadline.so.4
say?

Comment 2 Rick Jenkins 2002-03-06 22:23:03 UTC
# rpm -q --whatprovides libreadline.so.4
no package provides libreadline.so.4

Comment 3 Jeff Johnson 2002-03-06 22:47:42 UTC
Then this isn't an rpm problem, as rpm -q --whatprovides
searches for dependencies.

What does
	rpm -q --provides readline
say? If there is no "libreadline.so.4",
then you need to find a readline )or possibly other)
package that actually Provides: the needed dependency.

Comment 4 Rick Jenkins 2002-03-06 22:59:02 UTC
#  rpm -q --provides readline
libhistory.so.4.1
libreadline.so.4.1
readline = 4.1-9

But note in the original rpm -ql that the package also provides 

/usr/lib/libreadline.so.4   

which is merely a link to

/usr/lib/libreadline.so.4.1



Comment 5 Jeff Johnson 2002-03-06 23:03:23 UTC
Yup, but those are not dependencies, only files.
The package header must supply a Provides: or
any matching Requires: will fail.

Look for a readline package that has the needed
Provides: