无法在 M1 Mac

时间:2021-03-29 20:25:50

标签: php macos clang++ apple-m1

我一直试图在我的 m1 mac 上编译 php apcu 没有成功,每次我编译它都会产生:

modules/apcu.so: Mach-O 64-bit bundle x86_64

我尝试了以下选项(每次清理和构建),但没有成功:

./configure --with-php-config=/opt/homebrew/opt/valet-php@7.2/bin/php-config --target=aarch64-apple-darwin20 --host=aarch64-apple-darwin20 --build=aarch64-apple-darwin20
./configure --with-php-config=/opt/homebrew/opt/valet-php@7.2/bin/php-config --target=arm64-apple-macos11 
./configure --with-php-config=/opt/homebrew/opt/valet-php@7.2/bin/php-config --target=arm-apple-darwin
./configure --with-php-config=/opt/homebrew/opt/valet-php@7.2/bin/php-config --target=aarch64-apple-darwin20

file modules/apcu.so
modules/apcu.so: Mach-O 64-bit bundle x86_64

我进行了一些谷歌搜索,发现了不同的文章,在检查 cc 的目标时似乎都得到了 arm64-apple-darwin20.1.0,但我得到以下内容:

~/D/apcu ❯❯❯ clang++ --version                                                                                                               
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

~/D/apcu ❯❯❯ cc --version                                                                                                                     
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

~/D/apcu ❯❯❯ ./config.guess                                                                                                              
x86_64-apple-darwin20.3.0

我在这里向 github 提出了一个问题 - https://github.com/krakjoe/apcu/issues/419

有人有什么想法吗?之前没有做太多的编译,所以任何帮助都会很棒!谢谢!

2 个答案:

答案 0 :(得分:0)

它读为 x86_64 而不是 ARM64(或类似的)。尝试清理项目一次,然后针对正确的架构重新配置和构建它(因为您之前可能为错误的架构交叉编译了该文件)。

答案 1 :(得分:0)

在 Twitter 上一些非常有帮助的人的帮助下,我发现我正在从终端运行命令,该终端已将 bash 启动到 i386 模式,而不是像我想象的那样 arm64。

我使用的是内置终端的 vscode,它在运行 arch 时显示 i386。从 iterm 执行 arch 时,它显示 arm64。从 iterm 尝试我的命令后,一切都按预期工作。