这是我在尝试安装PHP扩展时遇到的。
我想做的是:
使用brew install autoconf gmp
/Applications/MAMP/bin/php/php7.3.24/include/php/ext
phpize
。
一旦我点击enter,它就开始做它的事情,直到它说:
configure: error: GNU MP Library version 4.2 or greater required.
有一次我设法解决了这个问题,但我真的不知道我是怎么做到的。我只记得从官方网站.tar下载的gmp https://gmplib.org/#DOWNLOAD,但没有任何工作。
让我说,我对这些东西完全是个菜鸟。/配置、制作和制作安装的东西。我甚至不知道发生了什么,所以我所做的只是随机发射,希望能有好的事情发生:
下载正式.tar后,我尝试的是输入文件夹并使用:
我也试过这样做:
export CPPFLAGS="-I/usr/local/Cellar/gmp/include"
export LDFLAGS="-L/usr/local/Cellar/gmp/lib"
作为suggested here,但什么都没有改变。我甚至尝试在./configure命令中添加-前缀=/usr/local/c业力,但没有成功。
这一切都与我的to this other question有关,当./配置仍在工作时,我正试图继续处理这个问题。就像我倒退了一样。
西德诺特:我想这一切都改变了,当我解雇了brew医生,和brew清理。它一定摧毁了我制造的东西,使我回到了这个状态。
发布于 2021-07-14 14:05:06
更新23/08/2022:
由于我不得不再遍遍一遍,我想我有更多的提示要给你们,供将来参考,下面是清单:
通过
brew安装autoconf gmp
从源代码下载
需要在Applications/MAMP/bin/php/php8.1.0/include/php/ext/gmp中复制的gmp文件夹中输入
./配置--with-php-config=/Applications/MAMP/bin/php/php8.1.0/bin/php-config CXXFLAGS="-I/opt/homebrew/Cellar/gmp/6.2.1_1/include CPPFLAGS="-I/opt/homebrew/Cellar/gmp/6.2.1_1/include LDFLAGS="-L/opt/homebrew/Cellar/gmp/6.2.1_1/lib"
make
make install
重要注意: M1是arm64体系结构,如果正确安装了brew,就应该有一个文件夹arm64相反,英特尔是x86_64,brew文件夹是x86_64。
旧答案
好的,这比我想的要快一些,但是我应该把它放在这里,作为其他人的参考,因为其他人也会遇到同样的问题。
您需要使用这个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
时,它打印了以下错误:
这让我从emonz得到了这个答案。在最后重新安装brew之后,我终于可以使用其他的args来获得./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 /O升级到新的arch,但不知怎么我做到了。我将把这个问题和这个答案更像一个指南给未来的人,并给他们提示什么他们可以尝试解决这个问题,我希望没有人再经历这种痛苦。
https://stackoverflow.com/questions/68379240
复制相似问题