IntroductionAfter upgrading to Ubuntu 11.10 Ocelot 64bit my printer stopped working and took me a long time (almost a month) to get it working again (for previous version of Ubuntu refer to this post ). Actually after Ocelot a lot of Canon printers stopped working like the MF4350d  with a wide range of errors such as /usr/lib/cups/filter/pstoufr2cpca failed or missing dependencies from deprecated packages. After trying all solutions on the Internet the only one that worked for me was compiling from source as explained in a japanese blog post .
Installing Canon LBP5910 Driver 2.40 in Ubuntu Ocelot (11.10)
Download the source codeGo to the following URL: http://cweb.canon.jp/drv-upd/lasershot/linux/lipssource.html and press the button that looks like: "ダウンロード開始". This will download the driver source code into you machine.
Install some dependencies and build packages
Install the common driver package
Install the LIPS4 driverI tried first with the LIPSLX driver but I could not print so I installed the LIPS4 driver instead. First we need to unpack the driver source files: then we need to patch the build script: You can get the patch from gist https://gist.github.com/2497481. Once patched you can compile and install the driver with: Note that you must use sudo when running "allgen.sh" or the build will fail with missing header files (e.g. cnpklib.h). Finally we can restart the cups service to make sure it loads the new driver and PPD definition files:
Configuring your printerNow you can use the printer configuration tool that comes with your distribution or the cups web interface http://localhost:631/ to configure the printer. Some pointers when configuring it:
- Use the IPP protocol.
- In the list of drivers select Canon LBP Color Series LIPS4 ver.2.4