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:
What does rpm -q --whatprovides libreadline.so.4 say?
# rpm -q --whatprovides libreadline.so.4 no package provides libreadline.so.4
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.
# 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
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: