Circos — Here be Dragons

I have a love/hate relationship with Circos.  I love the figures and plots that you can create with it, but I hate having to install it.  We have machines that are not upgraded because someone somehow got it working on it, and we are afraid to have to go through the whole process of having to reinstall it.  Its awful.  Its great.  The plots are really impressive, and you can display a lot of information on them.  But you have to go to hell and back to get the d@$! thing working.

Recently, I did a clean install of OS X El Capitan on my main machine.  Why a clean install? Because Yosemite was nauseating, and the OS X upgrade process is broken... but anyways, the last time I installed Circos (v.0.66) it took me 24 hours to get it to work.  So I knew this time it would take at least that much.

I took copious notes of what I did last time, so I was optimistic that this time things could go better.  Haha.  Nope.  Joke's on me.  After two days of trying, I stopped.  I'll go back to it when and if I need it, but its a real shame that such a fantastic piece of software is crippled by a medieval installation process.

Below is what I tried.  Hopefully it helps some poor soul out there... but as Captain Barbossa said "You're off the edge of the map, mate. Here there be monsters":

  1. Install the easy modules via CPAN (do not install GD.pm)
  2. Install libpng, freetype, and jpeg via HomeBrew.
  3. Make sure the above are all properly Sym-linked.
  4. Install libgd standalone "C" library by itself (make, sudo make install, etc.)
  5. Download the GD.PM package
  6. Make sure all the symlinks are working
  7. If not, then manually make them -- problem sometimes is that "libfontconfig.1.dylib" in "/usr/local/lib" which needed to reference the file in "/usr/local/Cellar" as: libfontconfig.1.dylib@ -> /usr/local/Cellar/fontconfig/2.11.1/lib/libfontconfig.1.dylib
  8. If required, manually edit the "Build.PL" script and change "/usr/lib" to "/usr/local/lib"

Somebody should write a modern app that does everything Circos does, but is easy to install.  Like from an App Store or something.