43

从 macports 之外的源代码构建是轻而易举的事。使用 macports 构建需要很长时间,并且似乎经常冻结操作系统。这是典型的行为吗?虽然它似乎是 os x 的一个很好的打包工具,但如果我每次安装时都必须经历这种痛苦,我想我会不用它。

4

4 回答 4

36

如果您在 Intel Core 2 Duo 上运行,您可以通过更改位于此处的 Macports 配置选项将构建速度提高一倍:

/opt/local/etc/macports/macports.conf

# Number of simultaneous make jobs (commands) to use when building ports
buildmakejobs       2

当我在重建 gcc 后发现这一点时,我在踢自己;)

此选项将允许您使用两个 cpu 来构建包。

于 2009-11-25T09:23:27.637 回答
8

“冻结操作系统”?你可以说得更详细点吗?你试图在什么机器上的什么版本的 OS X 上构建什么包?

根据我的经验,MacPorts 构建通常可以在几乎所有支持的配置上正常工作,在我的情况下,从运行 10.4 的 256MB Pismo G3(2000 年)到最近的双核 Intel iMac 10.5。但是,您必须要有耐心:这可能需要很长时间,尤其是在有很多依赖包的情况下,这是使用 MacPorts 或 Fink 等包管理器的缺点之一。好处是,与您自己从源代码单独安装软件包相比,您通常拥有一个更受控制且经过测试的环境。而且,如果您还没有,请确保您更新到最新的 MacPorts:1.8.0 刚刚发布并且有一些重要的改进,包括更好地支持通用构建。

于 2009-08-29T22:00:20.950 回答
5

MacPorts 过去只从源代码构建,与获取二进制文件的包系统相比,这可能导致几个数量级的差异。考虑一个需要几个小时才能构建的大包的情况,并将其与下载它作为具有几十 MB 大小的存档的时间进行比较。

MacPorts 使用 Apple 的工具进行构建,它只会在相同的构建时间上增加可以忽略不计的开销,就像在 MacPorts 之外获得的一样,包越大,差异越小。如果您在 MP 之外构建程序时遇到巨大差异,您应该在问题跟踪器上提交一张带有详细信息的票。

也就是说,我看到这个问题已经很老了,因为 2.0 支持二进制存档 -cf。变更日志- 有一个支持 macosforge 的存储库,其中包含生成签名档案的构建机器人,默认是获取这些二进制档案而不是从源代码构建(您可以强制使用 -s 标志)。当前的用户体验更类似于 apt-get 之类的二进制管理器,能够非常轻松地更改配置和构建选项。

于 2012-09-03T08:55:37.487 回答
4

我不介意等待 Mac Ports 从源代码构建最新的软件包。但是,为什么不利用所有这些处理能力并为用户提供让构建自动上传回 MacPorts 的选项,或者更好地仍然被散列并为可以选择“turbo”选项的其他 MacPorts 用户提供点对点。

于 2010-06-18T22:41:06.857 回答