[转载] 解决yum多个源冲突的例子

原文:http://ubuntu.chapinware.com/2010/01/08/install-vlc-on-centos-5-4-libdvdread-so-3-libcucul-missing/

==================================================

I wanted to use vlc as client for multimedia files, but ran into some dependency errors with libraries libdvdread.so.3 and libcucul.so.0 .
Installation was initially started by

yum install vlc

but finished with errors, described above.

I wondered why the installation cannot find the libraries, since they are installed .

ll /usr/lib | grep libdvd*
ll /usr/lib | grep libcu*

showed me both libraries. I tried to manually set a symbolic link for libdvdread.so.3 (since there only was a link for xxx.so.4), but with no success.

The solution of this problem was to resolve the mixture of libraries installed from different repositories.
In this case the libdvdread from epel and rpmforge caused the confusion. You can check this (if both repositories are enabled) by

yum provides libdvdread

Both repositories offer a libdvdread, but completely different.
Therefore I performed the following steps to get a working vlc installation.

  • deinstall current libdvdread and libcucul

    yum erase libdvdread
    yum erase libcaca
  • cleanup yum

    yum clean all
  • install vlc and dependencies from rpmforge

    yum --disablerepo /* --enablerepo base,updates,rpmforge install vlc

finished….installed 25 packages.

Check again which repository provided the libdvdread, just to be sure

yum list libdvdread

prints the following output (on my box)

...
Installed Packages
libdvdread.i386 0.9.7-1.el5.rf installed
Available Packages
libdvdread.i386 4.1.3-1.el5 epel

Besides this, it is a preferable method to use priorities in your yum repositorities in /etc/yum.repos.d/*.repo files to avoid a confusion about different versions of files installed from different repositories.
Details about yum and priorities here

你可能感兴趣的:([转载] 解决yum多个源冲突的例子)