アプリチームからrhel8でphp7.1動かしたいと言われて遭遇したエラー。centos8と違ってrhel8は情報が出回ってなくて割と苦戦した。例えばこんな感じのエラー。
$ dnf install php71-php-devel
Updating Subscription Management repositories.
メタデータの期限切れの最終確認: 0:18:23 時間前の 2021年04月02日 13時46分31秒 に実施しました。
エラー:
問題: cannot install the best candidate for the job
- nothing provides libedit-devel(x86-64) needed by php71-php-devel-7.1.33-12.el8.remi.x86_64
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
centos8なら以下みたいにPowerToolsのレポジトリ有効化したらいける(場合によっては小文字もあるみたい)けど、rhel8だとレポジトリが異なった。
$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ dnf config-manager --set-enabled PowerTools
rhel8だと以下。名称がちょっと変わる場合もあるみたいなので、事前に名称を確認すればOK。
$ dnf repolist --all | grep -i builder
codeready-builder-for-rhel-8-x86_64-debug-rpms Red Hat CodeReady Li 無効化
codeready-builder-for-rhel-8-x86_64-rpms Red Hat CodeReady Li 無効化・・・★
codeready-builder-for-rhel-8-x86_64-source-rpms Red Hat CodeReady Li 無効化
$ dnf config-manager --set-enabled codeready-builder-for-rhel-8-x86_64-rpms
$ dnf repolist --all | grep -i builder
codeready-builder-for-rhel-8-x86_64-debug-rpms Red Hat CodeReady Li 無効化
codeready-builder-for-rhel-8-x86_64-rpms Red Hat CodeReady Li 有効化・・・★
codeready-builder-for-rhel-8-x86_64-source-rpms Red Hat CodeReady Li 無効化
※無い場合は以下で追加
$ dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
再度実行。うまくいった。
$ dnf install php71-php-devel
Updating Subscription Management repositories.
Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) 4.6 MB/s | 4.4 MB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 26 kB/s | 4.5 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 23 kB/s | 4.1 kB 00:00
依存関係が解決しました。
=============================================================================================
パッケージ Arch バージョン リポジトリー サイズ
=============================================================================================
インストール:
php71-php-devel x86_64 7.1.33-12.el8.remi remi-safe 685 k
追記 2021.10.27
後輩も同じようにハマった(gnupgのインストール)が、上記のとおり実施後、以下のようにインストールできた
$ dnf install gpgme-devel
Updating Subscription Management repositories.
Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) 7.6 MB/s | 5.5 MB 00:00
Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) 20 kB/s | 4.1 kB 00:00
Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) 20 kB/s | 4.5 kB 00:00
依存関係が解決しました。
===================================================================================================
パッケージ Arch バージョン リポジトリー サイズ
===================================================================================================
インストール:
gpgme-devel x86_64 1.13.1-7.el8 codeready-builder-for-rhel-8-x86_64-rpms 168 k
依存関係のインストール:
libgpg-error-devel x86_64 1.31-1.el8 rhel-8-for-x86_64-baseos-rpms 64 k
$ pecl install gnupg
:
Build process completed successfully
Installing '/usr/lib64/php/modules/gnupg.so'
install ok: channel://pecl.php.net/gnupg-1.5.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=gnupg.so" to php.ini
コメント