Canon printers in Ubuntu

Update: I couldn't get the process below to work in Ubuntu 10.04 (Lucid), so tried TurboPrint instead and it worked first time. Many of the newer Canon printers have Debian drivers available on Canon's site, so it's worth trying those first.
Canon kindly provide Linux drivers for their inkjet printers. Unfortunately, they're not designed for Ubuntu. It took a while to get my (IP2500) printer working, so this is for reference:

First, get the driver RPMs from Canon, and convert them to .deb using fakeroot alien where possible:

Next, try running cifip2500 (it'll probably be in /usr/local/bin/). If it produces errors, then you'll know which libraries it's not able to find. I had to do the following:


sudo ln -s /usr/lib/libtiff.so /usr/lib/libtiff.so.3
sudo ln -s /usr/lib/libpng.so /usr/lib/libpng.so.3

Once that's working, restart cups with sudo /etc/init.d/cupsys restart then open System > Administration > Printing and add the new printer.