从macports以外的源码构建是一件轻而易举的事。使用macports构建需要永远,并且似乎每隔一段时间就冻结os。这是典型的行为吗?虽然它似乎是一个很好的os x包装工具,但如果我每次安装时都要经历这种痛苦,我想我会没有它。
答案 0 :(得分:35)
如果您使用的是英特尔酷睿2双核处理器,则可以通过更改位于此处的Macports配置选项,将构建速度提高一倍:
/opt/local/etc/macports/macports.conf
# Number of simultaneous make jobs (commands) to use when building ports
buildmakejobs 2
当我在重建gcc之后发现这个时,我正在踢自己;)
此选项允许您使用两个cpu来构建包。
答案 1 :(得分:8)
“冻结操作系统”?你可以说得更详细点吗?你试图在哪台机器上构建什么版本的OS X?
根据我的经验,MacPorts构建通常可以在几乎任何支持的配置上正常工作,在我的情况下,从256MB Pismo G3(2000年)运行10.4到最近的双核Intel iMac 10.5。但是你必须要有耐心:它可能需要很长时间,特别是如果有很多依赖包,这是使用像MacPorts或Fink这样的包管理器的缺点之一。好处是你通常拥有一个更加可控,一个希望,经过测试的环境,而不是你自己从源代码单独安装包。而且,如果你还没有,请确保你更新到最新的MacPorts:1.8.0刚刚发布并有一些重要的改进,包括更好地支持通用版本。
答案 2 :(得分:5)
MacPorts过去只从源代码构建,与获取二进制文件的软件包系统相比,这可能会导致几个数量级的差异。 以某个大包装的情况为例,需要花费几个小时来构建,并将其与将其下载为具有几十MB大小的存档的时间进行比较。
MacPorts使用Apple的工具进行构建,它只会在MacPorts之外的相同构建时间上增加可忽略的开销,包越大,差异就越小。如果您在MP之外构建程序时遇到巨大差异,则应在issue tracker上提交详细信息。
那说我看到这个问题很老了,因为2.0支持二进制存档-cf。 Changelog - 有一个macosforge支持的存储库,其中buildbots可以生成签名存档,默认情况下是获取这些二进制存档而不是从源构建(可以强制使用-s标志)。 当前的用户体验更像是apt-get之类的二元管理器,能够非常轻松地更改配置和构建选项。
答案 3 :(得分:4)
我不介意等待Mac Ports在最新的软件包上构建源代码。但是为什么不利用所有这些处理能力并为用户提供选项,让构建能够自动上传回MacPorts,或者更好地进行散列,并提供给可以选择“turbo”选项的其他MacPorts用户点对点。