Sunday, December 30, 2007

Mac security update causing cups failure: Symbol not found: _cupsFileRead

Today I wanted to print over my home network using the cups system on my macbook, but BOOM, got this message when starting cupsd:

Link (dyld) error:

Symbol not found: _cupsFileRead
Referenced from: /usr/sbin/cupsd
Expected in: /usr/lib/libcups.2.dylib

Seems the last security updates have borked out all pre-cups v1.3.5 printing systems. When looking at the cups download site you also find the following note from Apple:

"We are no longer providing binaries for Mac OS X since CUPS 1.3.x is not fully compatible with Mac OS X 10.4.x. You can compile and install CUPS 1.3.x from source, however most of the GUI administration tools provided in Mac OS X will no longer work."

It was a source tarball download of v1.3.5 and configure, make, make install for me to get the cups server to run again. A few gotcha's I ran into:
  • it seems printers configured with the standard preferences tools on the macbook don't work over cups.
  • using the localhost:631 administrative interface to adjust your configuration changes the permission (group set to lp instead of wheel) on the entire tree /private/etc/cups/*
Another posting of this issue can be found here on the Apple Support Forum which describes installing the cups v1.2.12 also solves this issue and allows you to work with the preferences tooling to install printers again. I did not try this one yet as I am comfortable setting up printers by hand or with the cups admin web page (not forgetting to adjust the permissions on your /private/etc/cups).