dnf で jasper-libs が 競合エラーになる

環境

# cat /etc/redhat-release
AlmaLinux release 8.4 (Electric Cheetah)

CentOS 8からの移行環境ではなく、クリーンインストールしたAlmaLinux。

現象

次のようなエラーになる。

# dnf upgrade
メタデータの期限切れの最終確認: 1:53:30 時間前の 20211113211516秒 に実施しました。
エラー:
 問題: cannot install both jasper-libs-2.0.14-5.el8.x86_64 and jasper-libs-2.0.14-4.el8.x86_64
  - package jasper-devel-2.0.14-4.el8.x86_64 requires jasper-libs(x86-64) = 2.0.14-4.el8, but none of the providers can be installed
  - cannot install the best update candidate for package jasper-libs-2.0.14-4.el8.x86_64
  - problem with installed package jasper-devel-2.0.14-4.el8.x86_64
(競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)

# dnf clean all
してもダメ。

# dnf upgrade jasper-libs
のように個別で指定してもダメ。


まずは、現在のインストール済みバージョンを確認

# rpm -qa | grep jasper
jasper-libs-2.0.14-4.el8.x86_64
jasper-devel-2.0.14-4.el8.x86_64

次に、upgrade対象のバージョンを確認

# dnf info jasper-libs
・
・省略
・
名前         : jasper-libs
バージョン   : 2.0.14
リリース     : 5.el8
Arch         : x86_64
サイズ       : 166 k
ソース       : jasper-2.0.14-5.el8.src.rpm
リポジトリー : appstream
概要         : Runtime libraries for jasper
URL          : http://www.ece.uvic.ca/~frodo/jasper/
ライセンス   : JasPer
説明         : Runtime libraries for jasper.


最初に示したエラーメッセージの通り、
 現在 :jasper-libs-2.0.14-4.el8.x86_64
 更新先:jasper-libs-2.0.14-5.el8.x86_64
で競合しているらしい。
エラーメッセージの最後に、
- problem with installed package jasper-devel-2.0.14-4.el8.x86_64
と書いてあるが、インストール済みパッケージに何らかの問題が発生している模様。

エラーメッセージのヒントで、
 (競合するパッケージを置き換えるには、コマンドラインに '--allowerasing' を追加してみてください
 または、'--skip-broken' を追加して、インストール不可のパッケージをスキップしてください
 または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
とあったので、これらを試してみる。


「--allowerasing」の指定を試す

# dnf upgrade jasper-libs --allowerasing
メタデータの期限切れの最終確認: 0:05:42 時間前の 20211113211537秒 に実施しました。
依存関係が解決しました。
===============================================================================================
 パッケージ                Arch           バージョン                 リポジトリー        サイズ
===============================================================================================
アップグレード:
 jasper-libs               x86_64         2.0.14-5.el8               appstream           166 k
依存関係パッケージの削除:
 ImageMagick-devel         x86_64         6.9.10.86-1.el8            @epel               501 k
 jasper-devel              x86_64         2.0.14-4.el8               @powertools         2.8 M

トランザクションの概要
===============================================================================================
アップグレード  1 パッケージ
削除            2 パッケージ

ダウンロードサイズの合計: 166 k
これでよろしいですか? [y/N]:

「jasper-devel」が削除されるらしい。
「jasper-devel」だけ個別にremoveしてからupgradeしても良かったかもしれない。