c-PHP 7.4.10在CentOS错误:无法定位gmp.h



我使用的是CentOS 7,并从源代码构建了一个PHP 7.4.10 rpm。我们之前一直在使用PHP 7.2和位于/usr/lib64/的gmp,所以/spec文件中的configure采用--with-gmp=/usr/lib64。这可以毫无问题地工作,我还测试了它仍然可以与PHP 7.3.22一起工作。然而,构建PHP 7.4.10会遇到以下错误:configure: error: Unable to locate gmp.h

$ locate gmp.h
/usr/include/gmp.h
$ 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

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

我特别困惑,因为PHP 7.4似乎发生了一些变化,但我找不到任何升级说明

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

当遇到这样的问题时,咨询发行版构建脚本通常很有帮助,例如适用于CentOS的PHP 7.4 RPM SPEC文件。在下文中,您将看到对%{_prefix}的引用,它代表/usr

最新更新