CentOS上的PHP 7.4.10错误:无法找到gmp.h

CentOS上的PHP 7.4.10错误:无法找到gmp.h,php,c,gcc,centos7,Php,C,Gcc,Centos7,我正在使用CentOS 7并从源代码构建PHP7.4.10RPM。我们以前一直在使用PHP7.2,gmp位于/usr/lib64/,因此在规范文件中进行配置需要——gmp=/usr/lib64。这是没有问题的,我还测试了它是否仍然适用于PHP7.3.22。但是,构建PHP7.4.10会遇到以下错误:configure:error:无法找到gmp.h $ locate gmp.h /usr/include/gmp.h 我尝试在/usr/include/gmp.h和/usr/lib64/gmp.h

我正在使用CentOS 7并从源代码构建PHP7.4.10RPM。我们以前一直在使用PHP7.2,gmp位于
/usr/lib64/
,因此在规范文件中进行配置需要
——gmp=/usr/lib64
。这是没有问题的,我还测试了它是否仍然适用于PHP7.3.22。但是,构建PHP7.4.10会遇到以下错误:
configure:error:无法找到gmp.h

$ locate gmp.h
/usr/include/gmp.h
我尝试在
/usr/include/gmp.h
/usr/lib64/gmp.h
之间添加一个符号链接,但没有成功。 我还尝试将
-isystem/usr/include
-isystem/usr/include/gmp.h
添加到CFLAGS、CPFLAGS和cxflags中

我尤其感到困惑,因为PHP7.4似乎发生了一些变化,但我找不到它的任何升级说明。

-with gmp=/usr/lib64
/usr/lib64/include
/usr/lib64/lib64
中搜索文件。您需要使用
——gmp=/usr
——gmp=shared


遇到此类问题时,参考发行版构建脚本通常非常有用,例如。在下面,您将看到对
%{u prefix}
的引用,它代表
/usr

您的include目录似乎是
system/usr/local/gcc/include
,而不是
/usr/include
$ locate gmp.so
/usr/lib64/libgmp.so
/usr/lib64/libgmp.so.10
/usr/lib64/libgmp.so.10.2.0
%build
cd %{_builddir}/php-%{version}
export CC=/usr/local/gcc/bin/gcc
export CXX=/usr/local/gcc/bin/g++
export CFLAGS="-O3 -m64 -isystem/usr/local/gcc/include -L/usr/local/gcc/lib64 -Wl,--rpath=/usr/local/gcc/lib64 "
export CXXFLAGS=$CFLAGS
./configure --with-gmp=/usr/lib64 --enable-bcmath --enable-ftp --with-curl --with-openssl --enable-mbstring
make -j8
$ rpm -qa | grep -i gmp
gmp-devel-6.0.0-15.el7.x86_64
gmp-6.0.0-15.el7.x86_64