It appears that Portage 2.0.9 and 2.0.13 have a minor hiccup with depending on versioned virtuals, as evidenced by: [%1 ~] emerge --pretend jswat These are the packages that I would merge, in order. Calculating dependencies - !!! Error: couldn't find match for >=virtual/jdk-1.4 in dev-java/jswat-2.6 dev-java/sun-jdk/sun-jdk-1.4.0-r?.ebuild all provide virtual/jdk-1.4, however, by default blackdown-jdk is listed as the default virtual/jdk provider. I think the problem may be slighly complex: 1) Installing blackdown-jdk-1.3.0 will provide virtual/jdk-1.3 2) Installing sun-jdk-1.4.0 will provide virtual/jdk-1.4 3) If blackdown-jdk is listed as the virtual/jdk provider, virtual/jdk-1.4 is not "reachable", and the above error message will be reported. Can we do something like this in /etc/make.profile/virtuals: virtual/jdk dev-java/blackdown-jdk dev-java/sun-jdk virtual/jre dev-java/blackdown-jre dev-java/sun-jre where blackdown-jdk is the preferred selection for virtual/jdk, but if that fails, try sun-jdk ?
That is one solution, but for now I'd prefer to just make the affected packages dependent on Sun's jdk/jre. Bigger fish to fry in the Portage code at the moment. I'll leave this bug open as an enhancement request and get to it when I can get to it, which may not be soon. For now, just switch those guys over to depend on Sun's stuff.
*** Bug 13800 has been marked as a duplicate of this bug. ***
The current error message from emerge is simply wrong: bash-2.05b# emerge -p -u --deep sun-j2sdk These are the packages that I would merge, in order: Calculating dependencies / !!! all ebuilds that could satisfy ">=virtual/jdk-1.4" have been masked. !!! (dependency required by "dev-java/sun-j2sdk-1.4.0-r2" [ebuild]) !!! Error calculating dependancies. Please correct. The error message contradicts the PROVIDE information of the installed packages: bash-2.05b# find /var/db/pkg/ -name PROVIDE | xargs grep virtual/jdk /var/db/pkg/dev-java/sun-jdk-1.4.1.01/PROVIDE: virtual/jdk-1.4 /var/db/pkg/dev-java/sun-j2sdk-1.4.0-r2/PROVIDE: virtual/jdk-1.4.0 /var/db/pkg/dev-java/blackdown-jdk-1.3.1-r7/PROVIDE:virtual/jdk-1.3.1 So the PROVIDE files tell the opposite of what the error message says. The suggestion to add more packages as possible providers to /etc/make.profile/virtuals is even better, as this works even in the case that no providing package is installed yet. This feature is needed anyway, for there is little point in having virtuals, if they can have only one providing package in the eyes of emerge.
I'm getting nailed with the virtual/x11 dependancy: bash-2.05b# emerge --pretend --update world These are the packages that I would merge, in order: Calculating world dependencies \ !!! all ebuilds that could satisfy "virtual/x11" have been masked. !!! (dependency required by "media-libs/xine-lib-0.9.13-r2" [ebuild]) You can imagine how pleased I am that I cannot find any way to bypass this...
Patrick: edit /var/cache/edb/virtuals Move xfree to the second position in the list, or probably better, remove on that line but 'virtual/x11 x11-base/xfree'
This cannot possible have been a blocker for the past 9 months. The severity should be changed, or the problem must get some attention if it's still relevant.
I know (severity != priority), but surely more severy bugs deserve more attention? Adding bug-wranglers to cc.
Actually I think it's fixed