Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 167773 - dev-java/sun-jdk-1.4.2.13 and -1.5.0.10 with USE="-X" still have programs that depend on X
Summary: dev-java/sun-jdk-1.4.2.13 and -1.5.0.10 with USE="-X" still have programs tha...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Java team
URL:
Whiteboard:
Keywords:
Depends on: 177925
Blocks:
  Show dependency tree
 
Reported: 2007-02-20 18:30 UTC by Wiktor Wandachowicz
Modified: 2009-04-26 12:56 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge.info (emerge.info,2.63 KB, text/plain)
2007-02-20 18:31 UTC, Wiktor Wandachowicz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wiktor Wandachowicz 2007-02-20 18:30:49 UTC
After a recent upgrade of sun-jdk-1.4.2 on my server I've run revdep-rebuild only to see it complaining about remerging sun-jdk-1.4.2.13 again. The server has no Xorg on it, but I still can see appletviewer, javawsbin and libjavaplugin_jni.so installed. Similarly, I have no ALSA in the system and there's still libjsoundalsa.so installed as well.

Additionally, I was able to find Bug #138108 so I think this is just another example of the same problem.

I was able to find programs that depend on X in the sun-jdk-1.5.0.10 as well
(see near the end of report).

I will also add "emerge --info" as attachment.


Details:

# emerge -pv =sun-jdk-1.4*

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   Rf  ] dev-java/sun-jdk-1.4.2.13  USE="jce -X -alsa -doc -examples -nsplugin" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Fetch Restriction: 1 package


# cat .revdep-rebuild.3_rebuild
/opt/sun-jdk-1.4.2.13/bin/appletviewer
/opt/sun-jdk-1.4.2.13/bin/policytool
/opt/sun-jdk-1.4.2.13/jre/bin/policytool
/opt/sun-jdk-1.4.2.13/jre/javaws/javawsbin
/opt/sun-jdk-1.4.2.13/jre/lib/i386/awt_robot
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libawt.so
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libdcpr.so
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libfontmanager.so
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libjavaplugin_jni.so
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libjawt.so
/opt/sun-jdk-1.4.2.13/jre/lib/i386/libjsoundalsa.so


# cat .revdep-rebuild.4_ebuilds
dev-java/sun-jdk-1.4.2.13


# less /etc/make.conf
...
USE="bzip2 nptl nptlonly unicode java apache2 xml xsl mysql cgi gd \
  bash-completion postgres \
 -alsa -arts -avi -bitmap-fonts -gif -gnome -gstreamer -gtk -gtk2 -jpeg -kde \
 -mad -mikmod -motif -mp3 -ogg -oggvorbis -opengl -oss -png -qt -quicktime \
 -sdl -truetype -truetype-fonts -type1-fonts -vorbis -xmms -X"


# appletviewer
/usr/lib/jvm/sun-jdk-1.4/bin/appletviewer: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory


To my surprise after setting sun-jdk-1.5 as the generation-2 JVM, I was still able to run appletviewer (with the same error), but the revdep-rebuild didn't complain about it at all! I mean, having both sun-jdk-1.4.2.13 *AND* -1.5.0.10 and running revdep-rebuild, it did catch the 1.4.2.13 but completely omitted the 1.5.0.10 version. A quirk of having only symlinks to the real executables...


# java-config-2 -S sun-jdk-1.5
Now using sun-jdk-1.5 as your generation-2 system JVM

# appletviewer
/usr/lib/jvm/sun-jdk-1.5/bin/appletviewer: error while loading shared libraries: libX11.so.6: cannot open shared object file: No such file or directory

# emerge -pv =sun-jdk-1.5*

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] dev-java/sun-jdk-1.5.0.10  USE="jce -X -alsa -doc -examples -nsplugin" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
Comment 1 Wiktor Wandachowicz 2007-02-20 18:31:23 UTC
Created attachment 110761 [details]
emerge.info

Output of "emerge --info"
Comment 2 Josh Nichols (RETIRED) gentoo-dev 2007-02-23 13:46:17 UTC
The issue is we hadn't decided on how to handle these binary jdk/jres with regards to 'optional' dependencies.

Being mandatory dependencies is right out. After all, it'd be convenient not to have to install X to install java for servers.

Only bringing in the dependencies based on USE flags is what we currently do. We put up a nice warning if you happen to USE=-X for example. The problem here is that you still have bins around that would want X, as this bug describes.

The last option would be to remove any and everything that depends on X. Shared libraries and bins of course, but what about stuff in the class library? I think it gets a bit sticky, as I don't think it'd be trivial to yank stuff out of there, or even figuring out what uses what. The problem is, say, you do try to use an affected class; I'm fairly sure you'd get like an unsatisfied link error, or something along those lines. 
Comment 3 Vlastimil Babka (Caster) (RETIRED) gentoo-dev 2009-04-26 12:56:32 UTC
solved via bug 177925