emerge -pv jre used to show this even though I had app-emulation/emul-linux-x86-java-1.5.0.11 already installed: ===== evolucao jre # emerge -pv jre These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild N ] dev-java/sun-jdk-1.5.0.11 USE="X alsa -doc -examples -jce (-nsplugin)" 42,925 kB [ebuild N ] virtual/jdk-1.5.0 0 kB [ebuild R ] virtual/jre-1.5.0 0 kB Total: 3 packages (2 new, 1 reinstall), Size of downloads: 42,925 kB ==== When I added =app-emulation/emul-linux-x86-java-1.5.0* in RDEPEND (/usr/portage/virtual/jre/jre-1.5.0.ebuild) the problem is gone: ==== evolucao jre # emerge -pv jre These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] virtual/jre-1.5.0 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB ==== Reproducible: Always
Of course "the problem is gone"... you removed it. :P Anyway, the emul-linux-x86-java package is a set of 32-bit libraries. Packages requiring a 32-bit version of Java on amd64 *must* explicitly *DEPEND on app-emulation/emul-linux-x86-java. The package does *not* fulfill the virtual, since the virtual is meant for native code. That means that only 64-bit Java packages can fulfill the virtual on amd64. The current dependencies are correct. To have a fully-working system with both 32-bit and 64-bit Java, you need both. I'm marking this as INVALID.
Among all java programs I need one does not work with 64-bit Java, so I have to use the 32-bit version, which works with all the programs I use. For me is non-sense to have 64-bit Java installed (and taking disk space) for nothing.
Feel free to edit the ebuild locally in your overlay, then.