For example if two different asm versions get pulled in breakage happens.
Also needs some way to indicate when multiple slots are ok (think antlr).
I think I encountered the same issue. For instance, java-check-environment always complains about re-emerging icedtea-6 because package "rhino" could not be found. But see this: # grep DEPEND /usr/share/icedtea-6/package.env DEPEND="js.jar@rhino:1.6" # equery files rhino|grep /usr/share /usr/share /usr/share/rhino-1.5 /usr/share/rhino-1.5/lib /usr/share/rhino-1.5/lib/js.jar /usr/share/rhino-1.5/package.env /usr/share /usr/share/rhino-1.6 /usr/share/rhino-1.6/lib /usr/share/rhino-1.6/lib/js.jar /usr/share/rhino-1.6/package.env And the final check in java-check-environment which fails boils down to the following statements: + [[ ! -e /usr/share/rhino/package.env ]] + [[ ! -e /usr/share/java-config-2/virtuals/rhino ]] + return 1 !!! ERROR: Package rhino was not found! * Broken dependencies for dev-java/icedtea-6.1.7.3 * Please try emerge -uD1 =dev-java/icedtea-6.1.7.3 So, the problem is that "rhino" installs a subdirectory below /usr/share which includes a version number rather than just the plain package name. This should be fixed, because it creates problems as long as valid JAVA-packages exist which include the version number into the subdirectory name.