+18  Q: 

MacPorts or Fink?

Which do you use?

I am just in the process of installing sqlite3 from MacPorts (Mac version is 3.1.3 and Python 2.5 seems to be linked to a newer version, fileformat is new...) and have to download all the tools I'm sure fink allready knows about again = so far I have allways found everything with fink...

Which of the two do you use? Both? Are there any problems with using both side by side?


I actually download and compile any new tools to /usr/local/ instead of using fink or darwinports. Dan Benjamin has a great article on why.

Nate Smith
+1  A: 

I have used both, although infrequently. I have not encountered a problem in using them side-by-side, although I can't recall a case where I was installing tools or dependencies between the two repositories.

Loren Charnley
+3  A: 

My impression is that Fink is more comprehensive, but MacPorts is more up-to-date. Installing both side-by-side will result in a lot of duplicated packages, but I'm not sure it will cause any real problems.

Chris Conway
No problems so far. I run both of them side-by-side.

This is a little subjective, but I prefer MacPorts. I've setup MacPorts to run from the trunk for the latest portfile releases. I had previously used fink, but the packages always seemed to be out of date.

David Schlosnagle
+7  A: 

I read the article by Dan Benjamin, and don't see how it applies. In fact, both fink and darwinports follow the advice in it, substituting /usr/local with /sw or /opt/local.

That said, I have both on my Intel desktop and g4 laptop, and haven't had a problem running both. The only potential drawback is having different versions the same package, and running the wrong one since its first in your path. I generally install whatever I can using fink (simply because it was the fist one I installed), and using darwinports for packages fink doesn't have.

Update: I've since switched to MacPorts (the new name for DarwinPorts). There was no particular reason, other than I got a new computer and wanted to try the other one. I'm just as happy with it, and haven't felt the need to install fink as well.


Just a warning about Fink if you are behind a network proxy. The index is updated by either rsync or cvs. If neither can be proxied by your server, you can't update your local package list...

Didn't realise there was an alternative though, will try MacPorts.

MacPorts also uses rsync for syncing, but it also supports alternatives over HTTP, see http://trac.macports.org/wiki/howto/SyncingWithSVN and http://trac.macports.org/wiki/howto/PortTreeTarball
+3  A: 

My fairly brief experience with DarwinPorts was not very satisfying. Switching to Fink made the old Debian user in me feel right and home, and for the (mostly scientific) tools I use the most I have found it to be very up-to-date.

Of course, I use source archive to get bleeding-edge updates. Sometime I get package build bugs, too. C'est la vie.

+2  A: 

I tried Fink and got frustrated with it, though I've long since forgotten the details of why. I switched to MacPorts back when it was still DarwinPorts, and now I'm getting frustrated with it instead.

I find about half my development toolchain needs to be tweaked or rebuilt by hand after I've tried installing tools with MacPorts. I use Darcs for revision control, which requires GHC to build. I install both through MacPorts and discover that MacPorts is typically lagging weeks to months behind the current version of Darcs, so I end up using the stock Darcs to download current code and rebuild from scratch.

I've had such misadventures with selecting a toolchain for Python 2.5, PostgreSQL, psycopg, and SQLAlchemy that I'd rather go hide in a corner than think about it again.

In short, you might as well pick either Fink or MacPorts at random and then expect to spend a significant amount of time fixing or augmenting it.

+2  A: 

I've used both Fink and macports

I used Fink for a few years from 2002-2005, back then it then there was no macPorts (it was called Darwin ports). The main reason I used Fink was because it provided binary distribution. This was a must on G3 with 512Mb

Fastforward 2008. I got an intel based mac. Fink had only outdated binary distributions for my platform. So I moved to macports, since I'm going to be compiling everything from source anyway.

I've found some difficulties installing some ports from Macports with a fresh install (mainly due to playing around with variants or conflicts with libraries installed by apple). Otherwise it has been fine and the community is responsive.

I haven't tried fink since but it seems that many of the ports in the stable tree are outdated.

However, there is no reason to install both on your system. The only problems that may arrise are

  1. Duplicate installations of the same libraries
  2. Related to 1, but you might get conflicts between libraries installed by either method depending on which one the conf script finds first. However it is the same problem with apple provided libraries.
+1  A: 

I use MacPorts. I've not used Fink much, so I can't give much of a comparison; we use Fink at work to maintain Unix-y software on our Macs, but that's it. I used to just compile stuff by hand into /usr/local, but since I began using MacPorts, I haven't looked back.

I do know that the Tcl scripts that are used by MacPorts are simple enough to write that I've written my own and helped to add a few new pieces of software to the MacPorts repo, so that's definitely a plus. (Maybe this is just as easy to do with Fink -- I wouldn't know.) I've also noticed that software gets updated pretty quickly in MacPorts -- for example, recently, new versions of GHC and Mercurial were available almost as soon as they were released. This is also a plus.

+22  A: 

I find I usualy prefer whichever one I'm not using at the time.

Alan Storm
+1 Hilarious, and true. Well done.
Matt S.
This was true for me for a while; I would get pissed off at one, uninstall it, and install the other, until I got too pissed off at that one. I've finally settled on MacPorts, since it generally makes me happier these days.
Brian Campbell
+17  A: 

Homebrew is also worth a look. It's more hands-on than Fink or MacPorts, but I think that's a good thing. You basically clone the git repo to /usr/local, then do "brew sqlite" or whatever. The best part is, if a recipe doesn't work, you can fix it yourself and contribute back the fix!

+1 for mentioning a good alternative

Since I first tried Fink a few years ago, and it locked up during the download, and refused to ever download anything else no matter what I did; I gave up on it. A couple years later, MacPorts came out, and just for kicks, I tried Fink again, and it hung at the same spot again. So I stuck with MacPorts.


I just installed MacPorts 1.7 for Tiger and after doing a sudo port -d selfupdate, it installed 1.8.2 and it appears to be working fine. My Tiger version is 10.4.11 with X11 and Xcode from the Tiger install DVD (i.e. not downloaded from the Apple Developer Connection site) that came with my Core Duo (the "Early 2006" model).

I've successfully installed tiff and ghostscript with it.


Another alternative would be Gentoo Prefix. Since it's based on an actual popular linux distribution, it's package management is more actively maintained. Because it's Gentoo, it's more likely to have up to date versions of packages you want.

Michael McCanna
MacPorts is actively maintained. I get updates on an almost daily basis. Prefix may have other benefits (I've never looked into it), but I don't think this is one of them.
+1  A: 

Some may also consider Rudix as a valid alternative. It ships with less packages than Fink/MacPorts but it also gets the job done. Quoting from its homepage:

Rudix install software as packages under the traditional /usr/local/ file system in non-intrusive fashion and it never replaces core components of Mac OS X.

Every package is self-contained and has everything it needs to work. Rudix tries its best not to add extra dependecies to anything but the native Mac OS X dynamic libraries. Whenever the packages require external dependencies, this is solved at compile time using static linkage. For the end user this translates as: install and play.

Give it a spin and let me know what do you think! :-)

+1  A: 

Macports. I've used both, and Macports is better. More up to date, less of a pain.

I switched to Linux a couple of years ago, though, so it's possible Fink has got a lot better since i left.

Tom Anderson