繁体   English   中英

CentOS 上的 PHP 7.4.10 错误:无法定位 gmp.h

[英]PHP 7.4.10 on CentOS error: unable to locate gmp.h

我正在使用 CentOS 7 并从源代码构建 PHP 7.4.10 rpm。 我们之前一直在使用 PHP 7.2,gmp 位于/usr/lib64/ ,因此规范文件中的 ./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

遇到此类问题时,咨询发行版构建脚本通常会很有帮助,例如CentOSPHP 7.4 RPM SPEC 文件 在下面,您将看到对%{_prefix}引用,它代表/usr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM