Installing RMagick on OS X Leopard

After the last time, I swore I’d never fall prey to RMagick’s convoluted and painful installation process. Unfortunately, to paraphrase the Giant – it happened again.

So, after beating my head against my desk for hours while banging out permutations of “sudo port install ImageMagick” and “sudo gem install rmagick”, I have news for you, my devoted audience of 1.5 pygmy marmosets, – it can be done!

What you need to do is go back to the basics and install everything from source. I found a nice script here, but that only got me part of the way. Here’s how I did it:

mkdir src
cd src

curl -O http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz
tar xzvf freetype-2.3.5.tar.gz
cd freetype-2.3.5
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://superb-west.dl.sourceforge.net/sourceforge/libpng/libpng-1.2.22.tar.bz2
tar jxvf libpng-1.2.22.tar.bz2
cd libpng-1.2.22
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b
ln -s `which glibtool` ./libtool
export MACOSX_DEPLOYMENT_TARGET=10.5
./configure --enable-shared --prefix=/usr/local
make
sudo make install
cd ..

curl -O ftp://ftp.remotesensing.org/libtiff/tiff-3.8.2.tar.gz
tar xzvf tiff-3.8.2.tar.gz
cd tiff-3.8.2
./configure --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://jaist.dl.sourceforge.net/sourceforge/wvware/libwmf-0.2.8.4.tar.gz
tar xzvf libwmf-0.2.8.4.tar.gz
cd libwmf-0.2.8.4
make clean
./configure
make
sudo make install
cd ..

curl -O http://www.littlecms.com/lcms-1.17.tar.gz
tar xzvf lcms-1.17.tar.gz
cd lcms-1.17
make clean
./configure
make
sudo make install
cd ..

curl -O http://mirror.switch.ch/ftp/mirror/ghost/GPL/gs861/ghostscript-8.61.tar.gz
tar zxvf ghostscript-8.61.tar.gz
cd ghostscript-8.61/
./configure  --prefix=/usr/local
make
sudo make install
cd ..

curl -O http://mirror.switch.ch/ftp/mirror/ghost/GPL/gs861/ghostscript-fonts-std-8.11.tar.gz
tar zxvf ghostscript-fonts-std-8.11.tar.gz
sudo mv fonts /usr/local/share/ghostscript

curl -O ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz
tar xzvf ImageMagick.tar.gz
cd ImageMagick-6.4.0
export CPPFLAGS=-I/usr/local/include
export LDFLAGS=-L/usr/local/lib
./configure --prefix=/usr/local --disable-static --with-modules --without-perl --without-magick-plus-plus --with-quantum-depth=8 --with-gs-font-dir=/usr/local/share/ghostscript/fonts
make
sudo make install
cd ..

curl -O http://rubyforge.rubyuser.de/rmagick/RMagick-1.15.13.tar.gz
tar zxvf RMagick-1.15.13.tar.gz
cd RMagick-1.15.13
./configure  --prefix=/usr/local
make
sudo make install
cd ..

If you’d like to download the entire script and run it yourself – you can grab it here:

rmagick_install.sh

The trick for me was compiling the RMagick gem from source. Every single time I relied on @#@# rubygems, it failed. This script may fail after a while if some of the hardcoded paths change or if newer versions of the packages come out, so if it breaks for some reason, modify it to accomodate whatever version of RMagick / Freetype / Ghostscript is needed.

I hope this helps somebody else out there and reduces your head banging time to a minimum.

Technorati Tags: , ,