meld: comparing files and directories

I was looking for a tool to compare the source files of two java projecs (actually, two versions of the same project) to find out the differences. I read about meld, which looked promising. It’s an open source tool which was developed for Linux, but has been ported to Mac and Win,

The installation of meld (on a Snow Leopard). Mac OSX 10.8) was not without problems, but it was finally successful. So now I have a set of hints to avoid running int the same troubles I went through. The problems boiled down mostly to incompatibility with the version of XCode I had, and communication problems with the X11 server. After googling and experimenting a bit I figured out how to solve them, and I think I can suggest a path that should minimize the hurdles and possibly work in a straightforward way. Here it is:

1) make sure you have the last version of XCode installed. I have 5.0 (5A1413)

2) launch XCode, go to Preferences->Download and install the Command Line Tools

3) do a

sudo xcode-select -switch /Applications/

4) Install Quartz ( – i used the last available version: 2.7.4

5) Install MacPorts ( . I used the dmg. Make sure you have the last version: once installed, do a

sudo port -v selfupdate

6) Install meld, doing a

sudo port install meld

At this point it should (more or less) work. You can launch it from the shell

meld &

What I mean by “more or less” is that it gave me (yet another) an error, but this time it also suggested a solution, which was:

launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist

after that, it I relauched it and: success!

It still gives a warning:

“Couldn’t bind the translation domain. Some translations won’t work.”

but the window is there, and I can nicely compare files and even directories, as the following snapshots show.

Directory comparison in meld

Directory comparison in meld

File comparison in meld

File comparison in meld

Ok, the GUI is could look better on a Mac, but the functionalities are there and the tool seems to work pretty well. It’s also much faster than i expected.

There are still some minor problems (on the console it gives every now and then errors such as

TypeError: <HistoryFileEntry object at 0x1626ffb90 (HistoryFileEntry at 0x7fa374440be0)>: unknown signal name: changed

but all I need seems to be working fine.

Posted in Programming, Utilities

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: