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

コメント