With some help from #gentoo-java, I've been investigating this and come to a hack/workaround.
By deleting (or moving) /usr/lib/libcups.so to somewhere else, printing starts working again.
Obviously this is less than ideal as it means the same process must be gone through to make it work when cups is upgraded.
This fix was suggested in a few places, but none seem to have an explanation as to what is causing it.
I did an strace with and without the libcups.so. It seems it is trying to open libcups.so. If it does find it and open it, it seems to bail, and you get 'No printer service found'. Without libcups.so, it doesn't find it, and it just works.
(In reply to comment #0)
CUPS 1.2 returns by default to java the local socket
and java wants to make network request to /var..../cups.socket
its clear that it cant find a printer.
the sun bug about this that is linked in the cups bug is fixed, what does this mean for us?
I can confirm that creating the environment variable CUPS_SERVER=localhost works using en_GB.UTF8 locale.
Sounds like there isn't much needed but adding a file/entry for this to /etc/env.d/
(In reply to comment #3)
> the sun bug about this that is linked in the cups bug is fixed, what does this
> mean for us?
According to that, it's fixed in sun-jdk/sun-jre-bin 18.104.22.168 and 1.6.0.01. Someone please verify :)
I just ran into this the other day where I had to move libcups.so again, leaving the .2 and others alone in /usr/lib. However I can't replicate that today. I just tested with 22.214.171.124, 126.96.36.199, and OpenJDK 1.7 alpha 13. And I can't replicate. My printer showed up every time in OO.o. I guess it's resolved? Just wish I could replicate what I saw just the other day. Might have been starting cups after OO.o the other day.
For me it's now working with dev-java/sun-jdk-188.8.131.52 and net-print/cups-1.2.12.
OK so let's close it. These versions are going stable for security anyway.