gdb:没有可用的瓶子 - gdb安装

4

我正在尝试在我的(M1)Mac OS 11.5.2上安装gdb命令,但我得到了brew错误“gdb:没有可用的瓶子!”

我使用brew install gdb这里是输出:

Error: gdb: no bottle available!
You can try to install from source with:
  brew install --build-from-source gdb
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.

我尝试使用brew install --build-from-source gdb这里是输出结果:

==> Downloading https://ftp.gnu.org/gnu/gdb/gdb-10.2.tar.xz
Already downloaded: /Users/XX/Library/Caches/Homebrew/downloads/3b9f42b326145a6a827e12965049f662e7fa6b9687d9263219c87418d4f8835d--gdb-10.2.tar.xz
==> ../configure --enable-targets=all --prefix=/opt/homebrew/Cellar/gdb/10.2 --disable-debug --disable-dependency-tracking --with-lzma --w
==> make
==> make install-gdb maybe-install-gdbserver
Error: Empty installation

这是我的 brew config 输出:

HOMEBREW_VERSION: 3.2.8
ORIGIN: https://mirrors.ustc.edu.cn/brew.git
HEAD: f026dd21c195952747395ebdda24327204f012ec
Last commit: 5 days ago
Core tap ORIGIN: https://mirrors.ustc.edu.cn/homebrew-core.git
Core tap HEAD: d91b62c128523ef6fb6dcf7b227071a8a2b561c0
Core tap last commit: 2 hours ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.3 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 12.0.5 build 1205
Git: 2.30.1 => /Library/Developer/CommandLineTools/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 11.5.2-arm64
CLT: 12.5.1.0.1.1623191612
Xcode: N/A
Rosetta 2: false

我不知道如何解决它。如果您知道答案,请帮助我。

3个回答

5

你不能创建一个本地的 arm64 gdb 包, 它不受支持。

引用自Homebrew中的苹果芯片支持

我们现在已经为 Apple Silicon 打包了大多数的公式: 70%。然而,并非所有软件都准备好在 macOS 上使用 ARM 处理器,由于我们发布上游版本,会有一些公式需要很长时间才能修复,有新版本... 还有一些永远不会支持 ARM。

我们的支持水平是这样的:Homebrew 努力为支持 ARM 的软件提供 ARM bottles(二进制安装文件)。我们无法修复所有的软件,也不会接受类似“公式Z不支持ARM,你能修复它吗”的功能请求。你可以通过向软件开发人员提交 bug 报告来帮助该软件在 ARM 上运行。

这就是 Homebrew 在 M1 Mac 上选择 /opt/homebrew 作为 homebrew 前缀而不是旧的 /usr/local 的原因之一。用户可能需要让 Apple Silicon Homebrew(安装在 /opt/homebrew 中)和 Rosetta2 Homebrew(/usr/local)共存。

因此,如果您真的需要 gdb。获取一个 Rosetta 2 Homebrew 安装,并通过 Rosetta 2 安装它。


1
如果您正在使用类似于“Linux的macOS子系统”的Lima,则可以在Linux发行版上安装本机ARM gdb,但这需要在Linux上重新编译代码。

0

我可以使用 multipass 在 Ubuntu(arm64) 上使用 gdb。也许你可以试试~


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接