virtual/perl-File-Temp-0.230.0 exists in stable. However there is no corresponding perl-core/File-Temp-0.230.0, so any ebuild that depends on virtual/perl-File-Temp will have dependency issues (unless using unstable, since 0.230.4 also exists) Reproducible: Always
Also note that the same issue seems to affect the following other perl virtuals: =virtual/perl-ExtUtils-MakeMaker-6.660.0-r1 =virtual/perl-Module-CoreList-3.30.0 =virtual/perl-Pod-Simple-3.280.0-r1 =virtual/perl-ExtUtils-Install-1.580.0-r1 =virtual/perl-ExtUtils-Install-1.590.0-r1 =virtual/perl-ExtUtils-CBuilder-0.280.210-r1 =virtual/perl-ExtUtils-Manifest-1.630.0-r1 =virtual/perl-IPC-Cmd-0.800.0-r1
virtual/perl-File-Temp 0.230.0 can be satisfied by one of *two* things. || ( =dev-lang/perl-5.18* ~perl-core/${PN#perl-}-${PV} ) !<perl-core/${PN#perl-}-${PV} !>perl-core/${PN#perl-}-${PV}-r999 dev-lang/perl-5.18 is in fact, stable. Thus, the condition should be satisfied by that. Please confirm what version of dev-lang/perl you have installed.
The issue arose for me in the form of blockers *when trying to upgrade* dev-lang/perl from 5.16 to 5.18. I worked around the block issue by placing the affected virtuals (i.e. =virtual/perl-File-Temp-0.230.0 and the list in comment 1) in my package.mask, enabling me to successfully upgrade to 5.18. If I comment them out again and attempt an emerge world, blocks arise again: # emerge world -auvND These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] virtual/perl-File-Temp-0.230.0 [0.220.0-r3] 0 kB [ebuild U ] virtual/perl-Pod-Simple-3.280.0-r1 [3.230.0] 0 kB [uninstall ] perl-core/Pod-Simple-3.230.0-r1 [blocks b ] <perl-core/Pod-Simple-3.280.0 ("<perl-core/Pod-Simple-3.280.0" is blocking virtual/perl-Pod-Simple-3.280.0-r1) [blocks B ] <perl-core/File-Temp-0.230.0 ("<perl-core/File-Temp-0.230.0" is blocking virtual/perl-File-Temp-0.230.0) Total: 2 packages (2 upgrades, 1 uninstall), Size of downloads: 0 kB Conflict: 2 blocks (1 unsatisfied) * Error: The above package list contains packages which cannot be * installed at the same time on the same system. (virtual/perl-File-Temp-0.230.0::gentoo, ebuild scheduled for merge) pulled in by virtual/perl-File-Temp required by @selected virtual/perl-File-Temp required by (mail-filter/MailScanner-4.84.5.2::x-portage, installed) =virtual/perl-File-Temp-0.230.0 required by (mail-filter/MailScanner-4.84.5.2::x-portage, installed) virtual/perl-File-Temp required by (dev-perl/MIME-tools-5.504.0::gentoo, installed) =virtual/perl-File-Temp-0.230.0 required by (dev-perl/MIME-tools-5.504.0::gentoo, installed) (perl-core/File-Temp-0.220.0-r1::gentoo, installed) pulled in by perl-core/File-Temp required by @selected
I've now realised that, instead of masking the virtual, I should have unmerged perl-core/File-Temp, enabling the dependency to be satisfied by dev-lang/perl-5.18 (and likewise with the other packages concerned). So maybe this bug should actually be about why portage can't do that for me!
> So maybe this bug should actually be about why portage can't do that for me! Well, thats exactly what the "!<" and "!>" things are for. The most likely explanation for why those don't take effect is that you have perl-core/* in your world file. > (perl-core/File-Temp-0.220.0-r1::gentoo, installed) pulled in by > perl-core/File-Temp required by @selected "@selected" here is "@world" Thus, you have perl-core/* in world. You should not have perl-core/* in world. However, portage doesn't presently have mechansims for telling people "don't have something in world!" :)
Fair enough. I don't have sufficient insight to submit a bug about how portage might be able to resolve or at least provide more help about such issues, so I'm just closing this bug.