For all its vaunted power and flexibility, and notwithstanding the fact that it is free (in both senses) Linux is sometimes a real pain. I run two distributions of Linux: "Arch Linux" on my laptop and "Ubuntu" on my desktop. I have a neat little program called "Unison" that synchronizes my documents between them. Unison is a wonderful program, but one installation of Unison will only talk to another one if it is the same version. Unison 2.36 does not talk to Unison 4.0.
Arch Linux is usually a little more up to date than Ubuntu, particularly since I use Ubuntu's "long term support" version (a topic for another time). As I tried to synchronize my files between my laptop and my desktop before I ran out the door today, my laptop reminded me that I had updated it to Unison 4.0 so it wouldn't synchronize with Unison 2.36 on my desktop.
Check to see if Ubuntu has a prepackaged update: No.
Check to see if I can download the Unison source code: Yes.
Uninstall old prepackaged version on Ubuntu.
Untar Unison source code.
Oops, Unison requires the Ocaml compiler, which I do not have on my system.
Install Ocaml compiler from Ubuntu software repository.
Brew a pot of tea while liblabldgk2-ocaml unpacks . . .
(Divert my attention to fix a problem with the iPhone's hogging the processor. See also PortbleDevicesiPhone)
Consult Unison manual.
Consult user group when the instructions in the manual do not work.
# ocaml mkProjectInfo.ml > Makefile.ProjectInfo
# make install
Move unison-2.40 binary to /usr/local/bin and create symlink "unison" in /usr/bin
It launches on the Ubuntu box!
Will Arch Linux connect? No.
(Slight fiddle with ssh connection.)
Will Arch Linux connect? Yes - success
Time elapsed 1 hour 26 minutes.
Bet ya can't wait to try Linux!
The great thing about Linux is that you can do all these things. (When Windows is broken, all too often your hands are tied.) The unfortunate thing about Linux is that every once in a while you have to do all these things.