在Linux中,与MacPorts保持同步最让我感到非常像Gentoo(可以说是主要Linux发行版短名单中最不像Mac的条目)。 但经过进一步的体验,似乎并不完全像Gentoo:在Gentoo中,事情经常发生,但是通常你可以通过Google错误消息中的突出部分find一个解决scheme,而不像计算机一般情况下,再次尝试24或48小时后,如果有什么坏的。 在这方面MacPorts似乎只是像Gentoo,你可以通过试图让系统保持最新的预期破损。
早些时候的破解让我不知道如何安装Django。 现在我已经安装了Django,但是升级了glib1; 这个bug的最后一个实质性变化( http://trac.macports.org/ticket/21413 )大约在一年前。
MacPorts是否真的“ 像Gentoo一样崩溃,但不能像Gentoo那样修复它 ”,还是说“32位?Legacy!Ewww!” 或者是其他东西? 我想知道一个合理的基本观点是什么,以及我应该和不应该期望的MacPorts。 (或者,如果我已经回答了我自己的问题,就是我上面所说的。)
这一样糟糕。 它不会比你想像的更糟糕的唯一原因是因为Homebrew( http://mxcl.github.com/homebrew/ )已经使它过时了,除非你有一些自虐的欲望让你的软件包一次又一次地拧。
自制软件可能没有MacPorts所具有的丰富的软件包,但它会到达那里,如果你愿意的话,这个软件很容易修补,为新软件包添加“公式”是一件轻而易举的事情。
我个人的观点是:MacPorts(作为一个项目)已经被咬掉了很多,而不是咀嚼。 MacPorts似乎试图包含Linux世界中绝对的一切,不幸的是,最后是无数的软件包,没有人会照看它们,以确保它们真的有效。 事情打破并保持破碎,有时是永久的。
我不想用MacPorts或Fink浪费时间,而是想在Mac上运行开源软件时考虑以下三种select:
MacPorts开发人员尽最大努力在各种系统上进行testing并支持多种configuration。 通常支持最新的两个版本的Mac OS X,现在是10.5 Leopard和10.6 Snow Leopard。 它甚至仍然在10.4 Tiger上作为传统平台,但是不会再付出额外的努力来支持新function。
为此,不依赖于系统版本 ,而是将依赖关系安装到MacPorts前缀是非常重要的。 这可能会导致更大的依赖列表,但这是保持兼容性的最佳方式。 此外,你会得到比苹果公司的系统更新的版本,而这个版本不会经常更新。
作为用户,您应该始终在问题跟踪器中search并报告您的构build问题,否则维护者可能不知道它们存在。 或者你可以提交补丁程序,使整合过程更快,甚至可以自己接pipe几个端口的维护者。 MacPorts团队总是需要新的维护者贡献端口更新或新的端口。 为了便于比较,Gentoo上的开发人员数量非常庞大,在MacPorts上,只有less数人在基地和端口上工作。 因此,隔离和解决问题需要更长的时间。 记住所有的维护人员正在为项目免费贡献自己的时间。
特别是针对你的问题,你是否按照你链接的票证的build议,在macports.conf中检查了你的build_arch设置? Snow Leopard上的默认build_arch是x86_64。 运行一个纯粹的32位MacPorts安装是可能的,但不支持。 build议按照迁移说明进行详细说明。
将有绝对不能编译为64位(如葡萄酒)的软件,但MacPorts将自动重build与+通用变体的依赖关系。 这个变体意味着将会在一个二进制或库中支持多个体系结构。