PDA

View Full Version : How YUM resolve dependencies



titus
26th November 2007, 01:56 AM
Hello,

Im curious, how do yum finds RPM packages which provides some so.0 so.* files for RPM package we want to install .

jcliburn
26th November 2007, 02:16 AM
Each rpm includes a spec file that contains the required dependencies. Check the "Dependency Tags" section of this link. http://www.rpm.org/max-rpm/s1-rpm-inside-tags.html

titus
26th November 2007, 02:28 AM
Yes but there I will files that package requires, something like libICE.so.6 li*.so.* etc.

How can I find which RPM package provides those so.* files.

rpm -q --whatprovides will look just packages that are on my computer right?

But yum finds rpm packages and download them.

How can we know which RPM pckgs to download, not using google :) .

leigh123linux
26th November 2007, 02:35 AM
Try this to find what package provides libICE.so.6



su
yum whatprovides libICE.so.6

or you can install the package like this


su
yum install libICE.so.6

titus
26th November 2007, 02:37 AM
sorry for being so annoying, how dows yum do that :) ?

leigh123linux
26th November 2007, 02:56 AM
sorry for being so annoying, how dows yum do that :) ?


I think it uses rpm to do this


[leigh@localhost ~]$ rpm -q --requires mplayer
/bin/sh
config(mplayer) = 1.0-0.88.rc2.lvn8
libGL.so.1()(64bit)
libSDL-1.2.so.0()(64bit)
libX11.so.6()(64bit)
libXext.so.6()(64bit)
libXinerama.so.1()(64bit)
libXv.so.1()(64bit)
libXvMC.so.1()(64bit)
libXvMCW.so.1()(64bit)
libXxf86dga.so.1()(64bit)
libXxf86vm.so.1()(64bit)
libaa.so.1()(64bit)
libasound.so.2()(64bit)
libasound.so.2(ALSA_0.9)(64bit)
libasound.so.2(ALSA_0.9.0rc4)(64bit)
libasound.so.2(ALSA_0.9.0rc8)(64bit)
libc.so.6()(64bit)
libc.so.6(GLIBC_2.2.5)(64bit)
libc.so.6(GLIBC_2.3)(64bit)
libc.so.6(GLIBC_2.3.4)(64bit)
libc.so.6(GLIBC_2.4)(64bit)
libc.so.6(GLIBC_2.7)(64bit)
libcaca.so.0()(64bit)
libcdda_interface.so.0()(64bit)
libcdda_paranoia.so.0()(64bit)
libcucul.so.0()(64bit)
libdca.so.0()(64bit)
libdl.so.2()(64bit)
libdl.so.2(GLIBC_2.2.5)(64bit)
libdv.so.4()(64bit)
libdvdnavmini.so.4()(64bit)
libdvdread.so.3()(64bit)
libenca.so.0()(64bit)
libfontconfig.so.1()(64bit)
libfreetype.so.6()(64bit)
libfribidi.so.0()(64bit)
libgcc_s.so.1()(64bit)
libgcc_s.so.1(GCC_3.0)(64bit)
libgif.so.4()(64bit)
libjpeg.so.62()(64bit)
liblirc_client.so.0()(64bit)
liblzo2.so.2()(64bit)
libm.so.6()(64bit)
libm.so.6(GLIBC_2.2.5)(64bit)
libmpcdec.so.5()(64bit)
libogg.so.0()(64bit)
libpng12.so.0()(64bit)
libpng12.so.0(PNG12_0)(64bit)
libpthread.so.0()(64bit)
libpthread.so.0(GLIBC_2.2.5)(64bit)
libpthread.so.0(GLIBC_2.3.2)(64bit)
libpulse.so.0()(64bit)
libspeex.so.1()(64bit)
libstdc++.so.6()(64bit)
libstdc++.so.6(CXXABI_1.3)(64bit)
libstdc++.so.6(GLIBCXX_3.4)(64bit)
libtheora.so.0()(64bit)
libtheora.so.0(libtheora.so.1.0)(64bit)
libungif.so.4()(64bit)
libvorbis.so.0()(64bit)
libxvidcore.so.4()(64bit)
libz.so.1()(64bit)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rtld(GNU_HASH)
[leigh@localhost ~]$


[leigh@localhost ~]$ rpm -q --fileprovide mplayer
/etc/mplayer
/etc/mplayer/input.conf
/etc/mplayer/menu.conf
/etc/mplayer/mplayer.conf
/usr/bin/midentify
/usr/bin/mplayer
/usr/lib64/codecs
/usr/share/doc/mplayer-1.0
/usr/share/doc/mplayer-1.0/AUTHORS
/usr/share/doc/mplayer-1.0/Changelog
/usr/share/doc/mplayer-1.0/Copyright
/usr/share/doc/mplayer-1.0/LICENSE
/usr/share/doc/mplayer-1.0/README
/usr/share/man/cs/man1/mplayer.1.gz
/usr/share/man/de/man1/mplayer.1.gz
/usr/share/man/es/man1/mplayer.1.gz
/usr/share/man/fr/man1/mplayer.1.gz
/usr/share/man/hu/man1/mplayer.1.gz
/usr/share/man/it/man1/mplayer.1.gz
/usr/share/man/man1/mplayer.1.gz
/usr/share/man/pl/man1/mplayer.1.gz
/usr/share/man/ru/man1/mplayer.1.gz
/usr/share/man/zh_CN/man1/mplayer.1.gz
/usr/share/mplayer
[leigh@localhost ~]$