曾几何时,苹果推出了Arm64e架构。那是 2 年前的 Xcode 10.0 时期。从 A12 CPU 开始。如今,Xcode 12.4 在为 iOS 平台选择标准架构时仍然只有 Arm64 是默认的。
Arm64e 发生了什么?为什么它不是默认的?
另外,当我手动添加它并存档模拟器时,我得到:
ld:警告:忽略文件/Applications/Xcode12.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/lib/darwin/libclang_rt.iossim.a,文件/中缺少所需的架构arm64e Applications/Xcode12.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/12.0.0/lib/darwin/libclang_rt.iossim.a(3片)
这是怎么回事?这是否意味着M1 macs不支持PAC(指针验证码)?我有点困惑,但我还不能在 M1 mac 上测试。
kapt在我的 M1 Apple Silicon 上使用(例如 Room)构建 Android 项目期间
Android Studio Arctic Fox | 2020.3.1 Beta 1 arm64
..
Android Studio Arctic Fox | 2020.3.1 Beta 5 arm64
Android Studio Bumblebee | 2021.1.1 Canary 2 aarch64
Run Code Online (Sandbox Code Playgroud)
和
Android Studio Arctic Fox | 2020.3.1 Beta 5
Build #AI-203.7717.56.2031.7360992, built on May 14, 2021
Runtime version: 11.0.10+0-b96-7249189 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 11.4
Run Code Online (Sandbox Code Playgroud)
我遇到
Execution failed for task ':FFTSpectrumLib:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> …Run Code Online (Sandbox Code Playgroud) 我通过安装了python pyenv,然后用命令创建了虚拟环境python -m venv .venv
which python
返回:
/Users/my_name/Development/my_project/.venv/bin/python
然后pip install uWSGI==2.0.20失败并出现以下错误:
*** uWSGI linking ***
clang -o /Users/my_name/Development/my_project/.venv/bin/uwsgi -L/opt/homebrew/opt/libffi/lib core/utils.o core/protocol.o core/socket.o core/logging.o core/master.o core/master_utils.o core/emperor.o core/notify.o core/mule.o core/subscription.o core/stats.o core/sendfile.o core/async.o core/master_checks.o core/fifo.o core/offload.o core/io.o core/static.o core/websockets.o core/spooler.o core/snmp.o core/exceptions.o core/config.o core/setup_utils.o core/clock.o core/init.o core/buffer.o core/reader.o core/writer.o core/alarm.o core/cron.o core/hooks.o core/plugins.o core/lock.o core/cache.o core/daemons.o core/errors.o core/hash.o core/master_events.o core/chunked.o core/queue.o core/event.o core/signal.o core/strings.o core/progress.o core/timebomb.o core/ini.o core/fsmon.o core/mount.o core/metrics.o core/plugins_builder.o core/sharedarea.o core/rpc.o core/gateway.o core/loop.o core/cookie.o …Run Code Online (Sandbox Code Playgroud) 我没有意识到它会导致的问题,因此错误地通过从 Time Machine 备份恢复来设置我的 2021 款 MacBook Pro。我以为我已经解决了所有问题,并且已经愉快地运行了几个月,但我刚刚发现我似乎仍然在 /usr/local 中安装了 Homebrew,以及默认的 Apple Silicon /opt/homebrew 的位置,以及我最近安装的一堆公式位于错误的位置,并链接到错误的 Homebrew 安装,并且新的不会升级,失败并出现错误Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
我已经删除了所有有问题的公式并将它们重新安装在正确的位置,但是如何完全删除 /usr/local Homebrew 安装而不影响 /opt/homebrew?标准卸载脚本可以安全运行吗?
我刚刚在我的新笔记本电脑上安装了brew,但是当我尝试运行brew时,它告诉我没有这样的命令。我可能做错了什么?
tomsmail@MacBook-Air ~ % brew
zsh: command not found: brew
Run Code Online (Sandbox Code Playgroud)
我已经完全安装了brew 以及必要的xcode 终端命令。
我正在尝试在带有 Apple Silicon 芯片的 MacOS 系统上使用 Maven、gradle、sbt 或类似工具构建 JavaFx 项目,但遇到了如下错误:
UnsatisfiedLinkError: Can't load library: libprism_es2.dylib
Run Code Online (Sandbox Code Playgroud)
该怎么办?
由于 ffmpeg.org 上没有可用的 m1 版本,因此我必须编译自己的版本。显然,我希望获得尽可能最好的表现。
为了编译 ffmpeg,我只做了基础知识:
./configure --prefix=/tmp/ff --enable-gpl --enable-nonfree --enable-libx264
make
make install
Run Code Online (Sandbox Code Playgroud)
对于x264,我只是做了 ./configure --prefix=/tmp/ff make make install
跑步:
ffmpeg -i random.wmv -c:v libx264 -preset ultrafast -c:a aac output-ultra.mp4
Run Code Online (Sandbox Code Playgroud)
还有什么我应该做的吗?
我是 macOS 和 Docker 的新手。当我尝试在 Apple Silicon M2 上使用 Docker 启动我的项目时,遇到了一系列障碍。我认为我面临的问题与图像之间的不良兼容性有关:webdevops/php-apache-dev:7.2 和我正在使用的平台。
\n我的 docker-compose.yml 如下所示:
\nversion: "3"\nservices:\n web:\n image: webdevops/php-apache-dev:7.2\nRun Code Online (Sandbox Code Playgroud)\n另外,我在某些方面对其进行了更改以添加:
\nversion: "3"\nservices:\n web:\n platform:linux/amd64\n image: webdevops/php-apache-dev:7.2\nRun Code Online (Sandbox Code Playgroud)\n但不断出现错误。
\n我不知道还能尝试什么。如果您有任何见解或解决方案可以分享,我将非常感谢您的指导!
\n当我启动 docker-compose up 时,我在 my_project 容器内收到一条错误消息,如下所示:
\ngoroutine 1 [running]:\nruntime.systemstack_switch()\n /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:281 fp=0xc420028788 sp=0xc420028780\nruntime.main()\n /usr/local/Cellar/go/1.8.1/libexec/src/runtime/proc.go:127 +0x6c fp=0xc4200287e0 sp=0xc420028788\nruntime.goexit()\n /usr/local/Cellar/go/1.8.1/libexec/src/runtime/asm_amd64.s:2197 +0x1 fp=0xc4200287e8 sp=0xc4200287e0\nmy_project exited with code 2\n\nRun Code Online (Sandbox Code Playgroud)\n为了排除故障,我尝试将 platform: linux/amd64 密钥添加到 docker-compose.yml 文件中的 Web 服务。然而,这导致了另一个障碍:
\nError response from daemon: image with reference webdevops/php-apache-dev:7.2 was …Run Code Online (Sandbox Code Playgroud) 我有一个基本的 C 程序:
#include <stdio.h>
int main() {
printf("Hello, world!\n");
}
Run Code Online (Sandbox Code Playgroud)
当我直接cc在 Apple Silicon 设备上使用它进行编译时,它会生成一个arm64可执行文件:
% cc hello.c -o hello
% file hello
hello: Mach-O 64-bit executable arm64
% ./hello
Hello, world!
Run Code Online (Sandbox Code Playgroud)
但是,当我通过 CMake 或 Ninja 等构建系统构建它时,它会生成 x86_64 二进制文件:
% ./my-build-system
% file hello
hello: Mach-O 64-bit executable x86_64
Run Code Online (Sandbox Code Playgroud)
我已经验证构建脚本运行的命令与我自己运行的命令相同。如果我复制并粘贴该命令并自己运行它,生成的可执行文件仍然是arm64。
是否可以使用诸如此类的工具在 M1 macbook 上安装具有不同架构的 2 个不同版本的 python pyenv?
例如,我想要3.9.1在 ARM 和3.8.5x86 上(通过 Rosetta)。
我pyenv已经安装了新的homebrew 3.0.0. 这样,我就可以为 ARM 安装 3.9.1 ( pyenv install 3.9.1)。我现在可以通过罗塞塔获得另一个版本吗?