Page 1 of 1

ZMREPO 1.30.x broken?

Posted: Tue Jan 03, 2017 8:01 pm
by rebootln
yum update generates the following error :

CentOS release 6.8 (Final)

Error: Package: vlc-core-2.1.6-2.el6.x86_64 (@zmrepo)
Requires: libdvbpsi.so.7()(64bit)
Removing: libdvbpsi-0.2.2-2.el6.x86_64 (@zmrepo)
libdvbpsi.so.7()(64bit)
Updated By: libdvbpsi-1.2.0-3.el6.x86_64 (epel)
Not found
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Re: ZMREPO 1.30.x broken?

Posted: Tue Jan 03, 2017 8:43 pm
by benf
FWIW, just have built a VM with Centos 7 and ZM using the Centos Repo and all works fine. Note the box has to be a clean build without 3rd party repos - yours appears to have epel.

Re: ZMREPO 1.30.x broken?

Posted: Tue Jan 03, 2017 9:05 pm
by rebootln
this worked fine on cent os 6 until recently - i think last time i dud udate was few weeks ago

Re: ZMREPO 1.30.x broken?

Posted: Tue Jan 03, 2017 9:09 pm
by rebootln
and you know what - that's about the time i installed fail2ban from epel :(


how can i get around this ?
Thank you!!!

Re: ZMREPO 1.30.x broken?

Posted: Wed Jan 04, 2017 1:32 am
by knight-of-ni
This is a somewhat common multiple-repo problem, which can happen anytime two different repos have different versions of the same pacakge. And as user benf pointed out, this is the reason why I put the disclaimer on zmrepo about using additional repos. You can get yourself into trouble.

The way to solve this is to downgrade your copy of libdvbpsi back to the version found in zmrepo, which is 0.2.2-2.
Turn off the epel repo, then a simple "sudo yum downgrade libdvbpsi" might do it. If it doesn't auto-rollback to 0.2.2, then you will have to do it the hard way... uninstall libdvbpsi, forcefully if you have to, then, with epel off, "sudo yum install libdvbpsi" to get the old verison installed again. You can use "rpm -e --force --nodeps libdvbpsi" to do this w/o uninstalling everything that depends on that package (i.e. vlc).

zmrepo gets zoneminder's package dependencies from both EPEL & RpmFusion. It is interesting that RPMFusion and EPEL are not supposed to conflict, but sure enough they do in this case. EPEL has a much newer version of libdvbpsi than RPMFusion, but you cannot use the newer version in this case because the vlc package in RPMFusion (which is what zoneminder uses) depends on the older libdvbpsi package. None of us can change that so your only choice is to roll back to the older version of libdvbpsi.

To keep this from happening again, you could add exclude=libdvbpsi to your epel repo file, but that won't prevent a similar conflict with another package from happening. Since there really are some useful packages in EPEL (i.e. dkms) what I do is: install epel, yum install the package I want, then imediately turn off epel. Under no circumstances do a "yum update" with epel enabled because that is what likely created the problem you are in now.