微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

需要 GNU MP 库 4.2 或更高版本

如何解决需要 GNU MP 库 4.2 或更高版本

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

我想做的是:

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

只要我按下回车键,它就会开始做它的事情,直到它说:

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

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

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

下载官方 .tar 后我尝试进入文件夹并使用:

  1. ./configure
  2. make && make check && make install

我也尝试过:

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

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

这一切都与我有to this other question,当 ./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> 安装软件包。 归功于emonz

长版答案:

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

enter image description here

这让我从 emonz 得到了这个答案。在我最终重新安装 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 芯片有关。我仍然不知道我过去做了什么来解决这个问题,而无需将 brew 升级到新的 arch,但不知何故我做到了。我会把问题和这个答案更像是对未来来者的指南,并给他们提示他们可以尝试解决问题的方法,我希望没有人再次经历这种痛苦。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。