Unable to install a rpm on Rocky 8

Hi Team,

I have recently migrated to Rocky 8 and have been trying to install an inhouse built rpm. When I run dnf install my-package.rpm, I see the below error.

Error: 
 Problem: conflicting requests
  - nothing provides libperl.so()(64bit) needed by qumu-videonet-edge-centos-8.0.401-1.noarch from @commandline
  - nothing provides librpm.so.3()(64bit) needed by qumu-videonet-edge-centos-8.0.401-1.noarch from @commandline
  - nothing provides librpmio.so.3()(64bit) needed by qumu-videonet-edge-centos-8.0.401-1.noarch from @commandline
  - nothing provides libwrap.so.0()(64bit) needed by qumu-videonet-edge-centos-8.0.401-1.noarch from @commandline
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
  • We have been installing the same rpm on centOS 7 from long time and never faced any issues.
  • I see that package rpm-libs-4.14.3-28.el8_9.x86_64 is already installed
  • I also installed perl (yum install perl)
  • I also tried with --nobest option but no luck

Can you please help me resolve this error?

Thanks!

Just because it works on CentOS 7 doesn’t mean it’s going to work on Rocky 8. They are completely different. Even RHEL7 isn’t the same as RHEL8. Different package versions, etc. You need to rebuild your RPM against the version of packages that Rocky 8 has - not what CentOS 7 has.

Since those messages aren’t complaining about specific versions, it suggests that various packages are simply not installed. Try installing with “dnf install /path/to/my-package.rpm” and let it try to work out the dependencies. I do note that libwrap.so appears to be provided by tcp-wrapper-libs, and you would need to have the “epel” repo enabled in order to find that package.

They are “of versions” though.

On CentOS 7 the yum provides 'librpm.so.3()(64bit)' and similar do show that:

  • 4:perl-libs-5.16.3-297.el7 provides libperl.so()(64bit)
  • rpm-libs-4.11.3-45.el7 provides librpm.so.3()(64bit) and librpmio.so.3()(64bit)
  • tcp_wrappers-libs-7.6-77.el7 provides libwrap.so.0()(64bit)

IIRC, tcp_wrappers were removed, probably in EL8. At least no similar file in EL8 system:

[el8]$ dnf -q provides */libwrap.so\*
Error: No Matches found

While EL7 has:

[el7]$ rpm -ql rpm-libs
/usr/lib64/librpm.so.3
/usr/lib64/librpm.so.3.2.2
/usr/lib64/librpmio.so.3
/usr/lib64/librpmio.so.3.2.2

But EL8 has quite different version:

[el8]$ rpm -ql rpm-libs | grep lib64
/usr/lib64/librpm.so.8
/usr/lib64/librpm.so.8.2.0
/usr/lib64/librpmio.so.8
/usr/lib64/librpmio.so.8.2.0
/usr/lib64/rpm-plugins

[el8]$ rpm -q --provides rpm-libs
librpm.so.8()(64bit)
librpmio.so.8()(64bit)
rpm-libs = 4.14.3-26.el8
rpm-libs(x86-64) = 4.14.3-26.el8

The OP package does not demand librpm.so.3 or librpm.so.4 or librpm.so.5
It requires exactly librpm.so.3 and the librpm.so.8 in el8 does not pretend to be 3.

Thank you for the responses!

@jlehtone you are right. My rpm had older libsnmp.so files and hence my rpm had older version requirements. I had to rebuilt the rpm with the el8 compatible libs and I was able to install my rpm on Rocky.

Thank you!

1 Like