Arch Linux

Please read this before reporting a bug:

Do NOT report bugs when a package is just outdated, or it is in Unsupported. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!

FS#27499 - [jre7-openjdk] depends on libcups

Attached to Project: Arch Linux
Opened by Alexander (AlexanderR) - Friday, 09 December 2011, 05:14 GMT
Last edited by Andreas Radke (AndyRTR) - Friday, 16 December 2011, 14:41 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Andreas Radke (AndyRTR)
Guillaume ALAUX (galaux)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No


JRE currently depends on libcups and there are few problems caused by this dependency:
1) It is not stated anywhere in package properties. Without libcups installed any java app using AWT (e.g. any graphical app) crashes with message about missing This issue is easy to fix.
2) It is ugly and unnecessary for most applications. I will try to investigate and maybe write patch/submit upstream but my CPU/time resources are limited and building openjdk is not on my schedule. It is unlikely that upstream would care so.. Anyone to help?

Steps to reproduce:
remove libcups and launch any graphical java application.
This task depends upon

Closed by  Andreas Radke (AndyRTR)
Friday, 16 December 2011, 14:41 GMT
Reason for closing:  Fixed
Comment by Bartłomiej Piotrowski (Barthalion) - Saturday, 10 December 2011, 10:19 GMT
It's logical that removing dependence breaks package. That's why package depends on it.
If you see problem in libcups, then compile java without it. You will be happy because of 1MB more free space, we will be happy because of lack of ridiculous bug reports.
Comment by Alexander (AlexanderR) - Saturday, 10 December 2011, 11:18 GMT
>> we will be happy because of lack of ridiculous bug reports
"We"? Can you please introduce yourself?.. Anyway please don't comment on bug reports without reading them.

1) The problem is that current version of JRE (and JDK too!) package DO NOT have dependency on libcups. Here is output of pacman for the vanilla package:
$ pacman -Qi jre7-openjdk
Name : jre7-openjdk
Version : 7.b147_2.0-2
Licenses : custom
Groups : None
Provides : java-runtime=7
Depends On : gcc-libs hicolor-icon-theme ca-certificates-java libxtst libxt nss libjpeg freetype2 libxrender libpng gsettings-desktop-schemas
Optional Deps : icedtea-web-java7: web browser plugin + Java Web Start
alsa-lib: for sound
giflib: for gif format support
Required By : icedtea-web-java7 jdk7-openjdk jedit
Conflicts With : java-runtime
Replaces : None
Installed Size : 112064.00 K
Packager : Guillaume ALAUX <Guillaume at Arch Linux dot org>
Architecture : i686
Build Date : Fri 21 Oct 2011 06:16:51 AM VLAT
Install Date : Mon 24 Oct 2011 10:48:19 PM VLAT
Install Reason : Installed as a dependency for another package
Install Script : Yes
Description : Free Java environment based on OpenJDK 7.0 with IcedTea7 replacing binary plugs - runtime environment

Do you see it? There is no dependency on libcups in the list of direct dependencies. I can remove libcups with "pacman -R libcups" and graphical java apps will crash, as previously described.

2) This issue reminds us about ugly nature of current AWT architecture. EVERY JAVA APPLICATION USING GRAPHICAL APIs - not only message box-type Hello World app but even some Servlet-based Captcha generators will magically depend on CUPS. And this dependency is not optional! This second part of bug is actually upstream-related. I will neither fix it nor discuss it with you.
Comment by Guillaume ALAUX (galaux) - Saturday, 10 December 2011, 12:17 GMT
Not so long ago jre7-openjdk depended on gtk2 which depends on libcups. It seems we forgot about libcups when we removed the gtk2 dependency. I don't really see the point of adding it as optional dependency as it is really tiny so I will have a look at it and add it back as full dependency if I can reproduce the crash.

> my time resources are limited
+1 :) will have a look at it