Perl related libraries update failure, again

Hi guru,

When I issue command ‘dnf update’, I get the following error messages, please help or point me a right direction to fix it.


Error:
Problem 1: package ImageMagick-perl-6.9.12.50-1.el8.x86_64 requires perl(:MODULE_COMPAT_5.32.1), but none of the providers can be installed

  • package ImageMagick-perl-6.9.12.50-1.el8.x86_64 requires libperl.so.5.32()(64bit), but none of the providers can be installed
  • cannot install the best update candidate for package ImageMagick-perl-6.9.12.48-2.el8.x86_64
  • package perl-libs-4:5.32.1-471.module+el8.6.0+879+823e3012.x86_64 is filtered out by modular filtering
    Problem 2: package ImageMagick-perl-6.9.12.48-2.el8.x86_64 requires ImageMagick-libs(x86-64) = 6.9.12.48-2.el8, but none of the providers can be installed
  • problem with installed package ImageMagick-perl-6.9.12.48-2.el8.x86_64
  • cannot install both ImageMagick-libs-6.9.12.50-1.el8.x86_64 and ImageMagick-libs-6.9.12.48-2.el8.x86_64
  • package ImageMagick-perl-6.9.12.50-1.el8.x86_64 requires perl(:MODULE_COMPAT_5.32.1), but none of the providers can be installed
  • package ImageMagick-perl-6.9.12.50-1.el8.x86_64 requires libperl.so.5.32()(64bit), but none of the providers can be installed
  • cannot install the best update candidate for package ImageMagick-libs-6.9.12.48-2.el8.x86_64
  • package perl-libs-4:5.32.1-471.module+el8.6.0+879+823e3012.x86_64 is filtered out by modular filtering
    (try to add ‘–allowerasing’ to command line to replace conflicting packages or ‘–skip-broken’ to skip uninstallable packages or ‘–nobest’ to use not only best candidate packages)

Thanks in advance,
Athens

Hi

It’s because the package ImageMagick-perl is installed and the last version ImageMagick-perl-6.9.12.50-1.el8.x86_64 requires perl 5.32. This perl module version is not enabled on your system (5.26 is enabled by default). Thus the update cannot be installed.

If you don’t need absolutely ImageMagick-perl, then remove the package. If you want keep to it, then you need to switch to perl module 5.32: sudo dnf module switch-to perl:5.32

Then the update can be done.

But be aware that there might be other issues afterwards, modules are a tricky thing.

1 Like

Here is a bug about this issue: 2095649 – Error Install ImageMagick and Imagemagick-perl together on RH8 (EPEL8 repository)

Hi oilsta,

Thanks for your help, will try your suggested method and tell you the result later.

Thanks,
Athens

Hi @athensy

As mentioned in the bug, a fixed package ImageMagick-perl-6.9.12.50-2 is now present in EPEL testing.

This package has no issue. The best is to wait until it is pushed in the main EPEL repository.

Best regards
Olista

1 Like

Hi Olista,

Thanks for your information. It is a good news for me. Besides on waiting the patch to be available, your suggestion for Perl upgrading is also a good idea. I would like to try and test it on my Perl application. If it works, may be it will eliminate more headache later.

Thanks again, you are very helpful.
Athens

Delicious, isn’t it? The minefield of streams.

EPEL, by mistake, released a package that depends on non-default stream. They will fix it and release update that depends on the default stream.

If someone does switch stream before that, then the next update from EPEL will “break” again and force switch back to the default perl stream?

Logically, this current “requires perl 5.32” ImageMagick-perl should be linked to “perl:5.32 stream” and the “requires perl 5.26” package should be linked to “perl:5.26 stream”. Furthermore, EPEL would end up maintaining (ImageMagick’s part) both streams.

Alas, I saw somewhere a statement that it is technically not feasible to have such dnf modules that span multiple repositories (e.g. AppStream and EPEL).

Hopefully the modules in 9 will remain empty for ever. Then this broken concept will be a good candidate for deprecation…

IMHO, the idea is reasonable but the execution is not.