需要 GNU MP 库版本 4.2 或更高版本

GNU MP Library version 4.2 or greater required

这是我在尝试安装 PHP-GMP 扩展时遇到的问题。

我想做的是:

  1. 已使用 brew install autoconf gmp
  2. 使用 brew 下载 gmp
  3. 已从源下载PHP(我使用的是 7.3.24 版)以提取 GMP 扩展
  4. 已将 Gmp 目录复制到 /Applications/MAMP/bin/php/php7.3.24/include/php/ext
  5. 进入该目录并启动 phpize
  6. 启动`./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.24/bin/php-config

我一点击进入它,tarts 就开始做这些事情,直到它说:

configure: error: GNU MP Library version 4.2 or greater required.

有一次我设法以某种方式解决了这个问题,但我真的不知道我是怎么做到的。我只记得从官方网站 https://gmplib.org/#DOWNLOAD 下载了 gmp .tar 但没有任何效果。

这么说吧,我对 ./configure、make 和 make install 完全是菜鸟。我什至不知道发生了什么,所以我所做的只是随机启动,希望有好事发生:

我下载官方后试过的。tar 进入文件夹并使用:

  1. ./配置
  2. make && make check && make install

我也试过:

export CPPFLAGS="-I/usr/local/Cellar/gmp/include"
export LDFLAGS="-L/usr/local/Cellar/gmp/lib"   

as suggested here 但没有任何改变。我什至尝试将 --prefix=/usr/local/Cellar 添加到 ./configure 命令,但没有成功。

这一切都与我有关 我在 ./configure 仍在工作时试图继续解决这个问题。现在好像倒退了

旁注:我想当我解雇 brew doctor 和 brew cleanup 时一切都变了。它一定是破坏了我做的东西,让我回到了这个状态

好的,这比我想的要快,但我应该把它留在这里作为其他遇到同样问题的人的参考。

TLDR; 您需要使用此 arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" 为新架构重新安装 brew,然后使用此 arch -x86_64 brew install <package> 安装软件包。 归功于

长版答案:

这个问题都是从brew开始的,我什至不知道为什么直到今天才给我提示这个问题。当我启动 brew install gmp 时,它打印了这个错误:

这让我从 得到了这个答案。在我最终重新安装 brew 之后,我终于可以让 ./configure 命令使用额外的参数来工作:

./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.27/bin/php-config CC="gcc -arch x86_64" CXX="g++ -arch x86_64"

所以我想基本上这一切都与新的 M1 芯片有关。我仍然不知道我过去做了什么来解决这个问题 w/o 将 brew 升级到新的 arch 但不知何故我做到了。我会留下这个问题和这个答案更像是对未来来者的指南,并给他们提示他们可以尝试解决问题的方法,我希望没有人再次经历这种痛苦。