为什么Macports需要永久构build简单的包?

从macports之外的源码构build是一件轻而易举的事情。 与macportsbuild设需要永远,似乎经常冻结操作系统。 这是典型的行为吗? 虽然它似乎是一个很好的os x打包工具,但是如果每次安装的时候都要经历这种痛苦,我想我会在没有它的情况下做。

如果您使用的是Intel Core 2 Duo,则可以通过更改位于此处的Macportsconfiguration选项来加快构build速度:

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

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

当我发现这个后我重build海湾合作委员会,我踢我自己;)

这个选项将允许你使用这两个CPU的build设包。

“冻结os”? 你可以说得更详细点吗? 你在什么机器上试图build立在什么版本的OS X上的软件包?

根据我的经验,MacPorts通常可以在任何支持的configuration上正常工作,在我的情况下,从256M的Pismo G3(2000年)运行10.4到最近的双核英特尔iMac 10.5。 但是,您必须耐心:如果有大量的依赖软件包,可能需要很长时间,这是使用像MacPorts或Fink这样的软件包pipe理器的一个缺点。 好处在于,与自行从源代码单独安装软件包相比,您通常拥有更多的受控和希望的testing环境。 而且,如果你还没有,请确保你更新到最新的MacPorts:1.8.0刚刚发布,并有一些重要的改进,包括更好的支持通用版本。

MacPorts以前只能从源代码构build,与获取二进制文件的软件包系统相比,这会导致几个数量级的差异。 以一个大型的软件包为例,这个软件包需要几个小时的时间才能构build出来,并将其与下载到一个大小为几十MB的压缩文件进行比较。

MacPorts使用苹果公司的工具来构build,它只增加了一个可以忽略不计的开销,在MacPorts之外的同样的构build时间,包越大,差异越小。 如果在MP之外构build程序时遇到巨大差异,则应在问题跟踪器上提供详细信息的故障单。

这就是说,我看到这个问题是相当古老的,因为2.0支持二进制档案-cf。 更新日志 – 有一个支持macosforge的buildbots版本库,可以生成已签名的档案,默认是取得这些二进制档案,而不是从源代码构build(你可以使用-s标志强制)。 目前的用户体验与apt-get这样的二进制pipe理器更类似,可以很容易地更改configuration和构build选项。

我不介意等待Mac Port从最新软件包的源代码构build。 但是,为什么不利用所有这些处理能力,并为用户提供了将构build自动上传回MacPorts的选项,或者更好地对其他可以select“turbo”选项的MacPorts用户进行散列和对等。