Cups 1.2.12 and update_prebinding errors

Michael Sweet mike at easysw.com
Wed Jul 25 11:37:25 PDT 2007


> After installing Cups 1.2.1[12].dmg on MacOSX 10.4.10 update_prebinding does not work anymore.

Short answer: The libraries that the standard CUPS build produces are not prebound because we don't know what address to use at build time.

Long answer:

Unfortunately, there is not enough space in the 10.4 libcups allocation to hold the CUPS 1.2 (or 1.3) libcups, so you can't put it there.  Similarly, libcupsimage has grown enough that it won't fit in its allocated space, either.

Conceivably you could use some of the open space around 0x3ff00000, add the -seg_addr_table option in the libcups.2.dylib and libcupsimage.2.dylib make rules, and get update_prebinding to do its thing.  However, applications that prebind their libraries/frameworks are also free to use that open space so you'll likely get other errors...

Basically, if you decide to use a non-standard CUPS with Mac OS X, you will likely not be able to get the faster prebound startup with your applications.  Given that the prebound addresses of the CUPS libraries depends on all of the other libraries that ship with Mac OS X (and Linux,  etc.), we probably will not add support for creating prebound libraries to the CUPS build system, relying instead on post-build tools/scripts to coordinate all of the different OS libraries.






More information about the cups mailing list