I try to install mongodb to Centos 7 server with PHP. I follow the install guide from https://www.php.net/manual/en/mongodb.installation.pecl.php
But sudo pecl install mongodb
show error message:
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update downloading mongodb-1.8.1.tgz ... Starting to download mongodb-1.8.1.tgz (1,292,453 bytes) ................................................................................................................................................................................................................................................................done: 1,292,453 bytes 586 source files, building running: phpize Can't find PHP headers in /usr/include/php The php-devel package is required for use of this command. ERROR: `phpize' failed
As the error message recommded, I install php-devel package
by
yum install php-devel
But I got a lot of Dependency error:
Error: Package: libstdc++-devel-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) Requires: libstdc++(x86-64) = 4.8.5-16.el7_4.2 Installed: libstdc++-4.8.5-28.el7_5.1.x86_64 (installed) libstdc++(x86-64) = 4.8.5-28.el7_5.1 Available: libstdc++-4.8.5-16.el7.x86_64 (ultra-centos-7.4-base) libstdc++(x86-64) = 4.8.5-16.el7 Available: libstdc++-4.8.5-16.el7_4.1.x86_64 (ultra-centos-7.4-updates) libstdc++(x86-64) = 4.8.5-16.el7_4.1 Available: libstdc++-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) libstdc++(x86-64) = 4.8.5-16.el7_4.2 Error: Package: libcom_err-devel-1.42.9-10.el7.x86_64 (ultra-centos-7.4-base) Requires: libcom_err(x86-64) = 1.42.9-10.el7 Installed: libcom_err-1.42.9-12.el7_5.x86_64 (installed) libcom_err(x86-64) = 1.42.9-12.el7_5 Available: libcom_err-1.42.9-10.el7.x86_64 (ultra-centos-7.4-base) libcom_err(x86-64) = 1.42.9-10.el7 Error: Package: gcc-c++-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) Requires: libstdc++ = 4.8.5-16.el7_4.2 Installed: libstdc++-4.8.5-28.el7_5.1.x86_64 (installed) libstdc++ = 4.8.2-16.el7_5 libstdc++ = 4.8.5-28.el7_5.1 Available: libstdc++-4.8.5-16.el7.x86_64 (ultra-centos-7.4-base) libstdc++ = 4.8.5-16.el7 libstdc++ = 4.8.2-16.el7 Available: libstdc++-4.8.5-16.el7_4.1.x86_64 (ultra-centos-7.4-updates) libstdc++ = 4.8.5-16.el7_4.1 libstdc++ = 4.8.2-16.el7_4 Available: libstdc++-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) libstdc++ = 4.8.5-16.el7_4.2 libstdc++ = 4.8.2-16.el7_4 Error: Package: glibc-devel-2.17-196.el7_4.2.x86_64 (ultra-centos-7.4-updates) Requires: glibc = 2.17-196.el7_4.2 Installed: glibc-2.17-222.el7.x86_64 (installed) glibc = 2.17-222.el7 Available: glibc-2.17-196.el7.x86_64 (ultra-centos-7.4-base) glibc = 2.17-196.el7 Available: glibc-2.17-196.el7_4.2.x86_64 (ultra-centos-7.4-updates) glibc = 2.17-196.el7_4.2 Error: Package: glibc-headers-2.17-196.el7_4.2.x86_64 (ultra-centos-7.4-updates) Requires: glibc = 2.17-196.el7_4.2 Installed: glibc-2.17-222.el7.x86_64 (installed) glibc = 2.17-222.el7 Available: glibc-2.17-196.el7.x86_64 (ultra-centos-7.4-base) glibc = 2.17-196.el7 Available: glibc-2.17-196.el7_4.2.x86_64 (ultra-centos-7.4-updates) glibc = 2.17-196.el7_4.2 Error: Package: gcc-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) Requires: libgomp = 4.8.5-16.el7_4.2 Installed: libgomp-4.8.5-28.el7_5.1.x86_64 (installed) libgomp = 4.8.2-16.el7_5 libgomp = 4.8.5-28.el7_5.1 Available: libgomp-4.8.5-16.el7.x86_64 (ultra-centos-7.4-base) libgomp = 4.8.5-16.el7 libgomp = 4.8.2-16.el7 Available: libgomp-4.8.5-16.el7_4.1.x86_64 (ultra-centos-7.4-updates) libgomp = 4.8.5-16.el7_4.1 libgomp = 4.8.2-16.el7_4 Available: libgomp-4.8.5-16.el7_4.2.x86_64 (ultra-centos-7.4-updates) libgomp = 4.8.5-16.el7_4.2 libgomp = 4.8.2-16.el7_4 Error: Package: 1:openssl-devel-1.0.2k-8.el7.x86_64 (ultra-centos-7.4-base) Requires: openssl-libs(x86-64) = 1:1.0.2k-8.el7 Installed: 1:openssl-libs-1.0.2k-12.el7.x86_64 (installed) openssl-libs(x86-64) = 1:1.0.2k-12.el7 Available: 1:openssl-libs-1.0.2k-8.el7.x86_64 (ultra-centos-7.4-base) openssl-libs(x86-64) = 1:1.0.2k-8.el7 Error: Package: libkadm5-1.15.1-8.el7.x86_64 (ultra-centos-7.4-base) Requires: krb5-libs(x86-64) = 1.15.1-8.el7 Installed: krb5-libs-1.15.1-19.el7.x86_64 (installed) krb5-libs(x86-64) = 1.15.1-19.el7 Available: krb5-libs-1.15.1-8.el7.x86_64 (ultra-centos-7.4-base) krb5-libs(x86-64) = 1.15.1-8.el7 Error: Package: krb5-devel-1.15.1-8.el7.x86_64 (ultra-centos-7.4-base) Requires: krb5-libs(x86-64) = 1.15.1-8.el7 Installed: krb5-libs-1.15.1-19.el7.x86_64 (installed) krb5-libs(x86-64) = 1.15.1-19.el7 Available: krb5-libs-1.15.1-8.el7.x86_64 (ultra-centos-7.4-base) krb5-libs(x86-64) = 1.15.1-8.el7 Error: Package: libsepol-devel-2.5-6.el7.x86_64 (ultra-centos-7.4-base) Requires: libsepol(x86-64) = 2.5-6.el7 Installed: libsepol-2.5-8.1.el7.x86_64 (installed) libsepol(x86-64) = 2.5-8.1.el7 Available: libsepol-2.5-6.el7.x86_64 (ultra-centos-7.4-base) libsepol(x86-64) = 2.5-6.el7 Error: Package: libselinux-devel-2.5-11.el7.x86_64 (ultra-centos-7.4-base) Requires: libselinux(x86-64) = 2.5-11.el7 Installed: libselinux-2.5-12.el7.x86_64 (installed) libselinux(x86-64) = 2.5-12.el7 Available: libselinux-2.5-11.el7.x86_64 (ultra-centos-7.4-base) libselinux(x86-64) = 2.5-11.el7 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
Below are the server details, any solution?
yum repolist
Loaded plugins: changelog, fastestmirror, versionlock Loading mirror speeds from cached hostfile * epel: download.nus.edu.sg * remi-php73: mirrors.thzhost.com * remi-safe: mirrors.thzhost.com repo id repo name status MongoDB/7/x86_64 MongoDB Repository 62 *epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,463 ius/x86_64 IUS for Enterprise Linux 7 - x86_64 486 mongodb-org-3.4/7 MongoDB Repository 125 nodesource/x86_64 Node.js Packages for Enterprise Linux 7 - x86_64 106 remi-php73 Remi's PHP 7.3 RPM repository for Enterprise Linux 7 - x86_64 384 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 4,006 ultra-centos-7.4-base UltraServe CentOS-7.4 - Base 7,407 ultra-centos-7.4-extras UltraServe CentOS-7.4 - Extras 401 ultra-centos-7.4-updates UltraServe CentOS-7.4 - Updates 1,836 ultra-centos-7.x-newrelic-monitoring UltraServe CentOS-7.x - New Relic Infrastructure Monitoring Agent 10 ultra-centos-7.x-ultrarepo UltraServe CentOS-7.x - UltraServe Repo Packages 50 repolist: 28,336
rpm -q centos-release
centos-release-7-5.1804.el7.centos.2.x86_64
php –version
PHP 7.3.23 (cli) (built: Sep 29 2020 08:33:03) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.23, Copyright (c) 1998-2018 Zend Technologies
Advertisement
Answer
remi-php73 Remi’s PHP 7.3 RPM repository for Enterprise Linux 7 – x86_64 384
Looks like you are using my repository which provides most extensions
So, instead of trying to build it from sources, I recommend to simply use the available RPMs
yum install php-pecl-mongodb
Or if you use the Software Collections
yum install php73-pecl-mongodb
As explained by the Wizard
BTW, the installation issue seems related to ultra-centos-7.4-base (don’t even know what is this) as you have installed packages from 7.5