在雪豹上安装 32 位端口

Lai*_*ira 4 64-bit macports osx-snow-leopard

我最近升级到 Snow Leopard 并且(为了避免很多问题)我在 32 位模式下运行它。尽管如此,由于几乎所有 SL 本机应用程序都是 64 位,它似乎运行在一种混合模式(64 位应用程序与 32 位应用程序并行运行)。

但我的问题是 MacPorts。当我运行 Snow Leopard 时,我认为它正在将所有端口编译为 64 位版本。如果我不必安装一些使用库来编译本机扩展的 Ruby Gems,那就没问题了。所有问题的发生都是因为 Apple 决定为 Snow Leopard 提供 32 位版本的 ruby​​。

这样,例如,当我尝试安装 Cairo 时,MacPorts 会安装 64 位版本,但是当 Ruby Gems 尝试编译 RCairo gem 的本机扩展(Ruby 的 Cairo 绑定)时,我自然会得到一个错误。那么,有没有办法在雪豹上安装 32 位版本的 MacPorts 端口?顺便说一句,我怎么知道某个端口是 32 位还是 64 位?

PS:请不要告诉我安装 Ruby 的 64 位端口。我安装了很多 gems 并且不想全部重新安装它们(尤其是在这个 32/64 位头痛的情况下)。

Jer*_*y L 6

您应该编辑您的macports.conf文件(在/opt/local/etc/macports/)。激活该build_arch行,将其设置为:

build_arch i386
Run Code Online (Sandbox Code Playgroud)

这将强制 i386(32 位)构建,而不是您的体系结构的默认值,即 x86_64(64 位)。