linux 開発系ツールのインストール

linux

アプリチームから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

コメント