Topic: CentOS 8 php 7.3 php-devel installation dependency missing

Hi,

Built a clean CentOS8 box and followed the Configuration Wizard to install a single instance of 7.3.10 on it, everythign working fine except trying to install php-devel returns this
--
dnf install php-devel
Last metadata expiration check: 0:13:46 ago on Fri 18 Oct 2019 16:15:35 BST.
Error:
Problem: cannot install the best candidate for the job
  - nothing provides libedit-devel(x86-64) needed by php-devel-7.3.10-1.el8.remi.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
--

List of enabled repos:
--
dnf repolist --enabled
Last metadata expiration check: 0:28:13 ago on Fri 18 Oct 2019 16:15:35 BST.
repo id                                      repo name                                                                                                                                                                          status
AppStream                                    CentOS-8 - AppStream                                                                                                                                                               5,034
BaseOS                                       CentOS-8 - Base                                                                                                                                                                    2,835
*epel                                        Extra Packages for Enterprise Linux 8 - x86_64                                                                                                                                     2,068
extras                                       CentOS-8 - Extras                                                                                                                                                                      3
mariadb                                      MariaDB                                                                                                                                                                               63
remi                                         Remi's RPM repository for Enterprise Linux 8 - x86_64                                                                                                                              3,258
remi-modular                                 Remi's Modular repository for Enterprise Linux 8 - x86_64                                                                                                                            332
remi-safe                                    Safe Remi's RPM repository for Enterprise Linux 8 - x86_64                                                                                                                         2,004
--

Can't seem to find libedit-devel in any repo

Mark.

Re: CentOS 8 php 7.3 php-devel installation dependency missing

Here's what has installed ok
--
rpm -qa | grep php
php-json-7.3.10-1.el8.remi.x86_64
php-xml-7.3.10-1.el8.remi.x86_64
php-fedora-autoloader-1.0.0-5.el8.remi.noarch
php-soap-7.3.10-1.el8.remi.x86_64
php-common-7.3.10-1.el8.remi.x86_64
php-fpm-7.3.10-1.el8.remi.x86_64
php-cli-7.3.10-1.el8.remi.x86_64
php-pdo-7.3.10-1.el8.remi.x86_64
php-pear-1.10.9-3.el8.remi.noarch
php-intl-7.3.10-1.el8.remi.x86_64
php-bcmath-7.3.10-1.el8.remi.x86_64
php-mbstring-7.3.10-1.el8.remi.x86_64
php-process-7.3.10-1.el8.remi.x86_64
php-mysqlnd-7.3.10-1.el8.remi.x86_64

Re: CentOS 8 php 7.3 php-devel installation dependency missing

you need to enable  the PowerTools repo, which provides most of the devel packages

dnf config-manager --set-enabled PowerTools
Desktop: Fedora 29 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 30 x86_64 + rpmfusion + remi (SCL only)
Hosting Server: CentOS 6.10 x86_64 with EPEL, remi, remi-php72 and remi-php72-test

Re: CentOS 8 php 7.3 php-devel installation dependency missing

BTW, for my curiosity, why do you need it, as most extensions are already available as RPM ?

Desktop: Fedora 29 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 30 x86_64 + rpmfusion + remi (SCL only)
Hosting Server: CentOS 6.10 x86_64 with EPEL, remi, remi-php72 and remi-php72-test

Re: CentOS 8 php 7.3 php-devel installation dependency missing

Hi Remi,

We install the latest php-timezone updates from pecl which AFAIK aren't available in RPMs and they change frequently.

Mark.

Re: CentOS 8 php 7.3 php-devel installation dependency missing

> We install the latest php-timezone updates from pecl which AFAIK aren't available in RPMs and they change frequently.

This one have absolutely no value.
All packaged versions of PHP use system tzdata which is updated separately.

Desktop: Fedora 29 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 30 x86_64 + rpmfusion + remi (SCL only)
Hosting Server: CentOS 6.10 x86_64 with EPEL, remi, remi-php72 and remi-php72-test

Re: CentOS 8 php 7.3 php-devel installation dependency missing

So PHP now looks dynamically at the OS timezone files? It certainly always used to have a hard compiled internal timezone DB as shown in phpinfo()/date/Timezone Database = (Internal|External). The PHP man page still seems to imply it is hardcoded and to use up-to-date TZ info to install the extension - https://www.php.net/manual/en/timezones.php

Mark.

Re: CentOS 8 php 7.3 php-devel installation dependency missing

> So PHP now looks dynamically at the OS timezone files?

Yes, for years.

$ php --ri date
...
"Olson" Timezone Database Version => 0.system
...

P.S. this is not how it works upstream, this is a change/feature developed by some RH dev >10 years ago (mostly maintained by me) and now used in most Linux distributions (.rpm and .deb)

Desktop: Fedora 29 x86_64 + rpmfusion + remi-test + remi-dev
Laptop:  Fedora 30 x86_64 + rpmfusion + remi (SCL only)
Hosting Server: CentOS 6.10 x86_64 with EPEL, remi, remi-php72 and remi-php72-test

Re: CentOS 8 php 7.3 php-devel installation dependency missing

That explains the mixed messages I find on the subject then, we shall adjust our installation processes and test. Thanks for that.

Mark.