[英]build php5.3.8 on ubuntu , get error: configure: error: Unable to locate 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
。
遇到此类问题时,咨询发行版构建脚本通常会很有帮助,例如CentOS的PHP 7.4 RPM SPEC 文件。 在下面,您将看到对%{_prefix}
引用,它代表/usr
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.