Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 159360

Summary: latest 2.1.2's get confused on multiple (virtual) deps
Product: Portage Development Reporter: Michael Cummings (RETIRED) <mcummings>
Component: Core - Interface (emerge)Assignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: normal Keywords: InVCS, REGRESSION
Priority: High    
Version: 2.1   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 147007    
Attachments: always select the highest available new-style virtual

Description Michael Cummings (RETIRED) gentoo-dev 2006-12-29 03:39:45 UTC
If this is a dup, I honestly couldn't find it. 

I was working on g-cpan this week and came across this troubling bug. Here's the output:
-snip-
These are the packages that would be merged, in order:

Calculating dependencies /
!!! Multiple versions within a single package slot have been 
!!! pulled into the dependency graph:

('ebuild', '/', 'virtual/perl-Test-Simple-0.66', 'merge') pulled in by
   ('ebuild', '/', 'dev-perl/Test-Exception-0.24', 'merge')

('ebuild', '/', 'virtual/perl-Test-Simple-0.63', 'merge') pulled in by
   ('ebuild', '/', 'perl-gcpan/Class-Accessor-Chained-0.01', 'merge')
   ('ebuild', '/', 'perl-gcpan/Data-Page-2.00', 'merge')
   ('ebuild', '/', 'perl-gcpan/Module-CoreList-2.09', 'merge')

It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously. If such a conflict exists in the
dependencies of two different packages, then those packages can not be
installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man page
or refer to the Gentoo Handbook.
-snip-

Curious, I checked. 
-snip-

$ for item in "Module-CoreList/Module-CoreList-2.09.ebuild Class-Accessor-Chained/Class-Accessor-Chained-0.01.ebuild Data-Page/Data-Page-2.00.ebuild /usr/portage/dev-perl/Test-Exception/Test-Exception-0.24.ebuild "; do grep "Test-Simple" $item; done
Module-CoreList/Module-CoreList-2.09.ebuild:DEPEND="    virtual/perl-Test-Simple
Class-Accessor-Chained/Class-Accessor-Chained-0.01.ebuild:DEPEND="      virtual/perl-Test-Simple
Data-Page/Data-Page-2.00.ebuild:                virtual/perl-Test-Simple
/usr/portage/dev-perl/Test-Exception/Test-Exception-0.24.ebuild:RDEPEND=">=virtual/perl-Test-Simple-0.64

-snip-

So only one of these depended on a specific version, all are ~arch'd (as am i), and there isn't any clear reason why this is blocked based on the dep. Help :)
Comment 1 Zac Medico gentoo-dev 2006-12-29 03:46:37 UTC
This seems like it may be related to the issue reported in bug 158358.  Please post --debug output for the command that triggers the error.
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2006-12-29 04:54:24 UTC
http://dev.gentoo.org/~mcummings/debug.ouput

and before you ask - block was too large for a comment field, and bugzie died when i tried attaching it as an attachment. such is my day.
Comment 3 Michael Cummings (RETIRED) gentoo-dev 2006-12-29 06:12:04 UTC
Try this url since dev.g.o seems to be eating the file. 

http://www.datanode.net/debug.output.txt
Comment 4 Zac Medico gentoo-dev 2006-12-29 12:51:07 UTC
Since ~dev-lang/perl-5.8.8 is installed, preference algorithm is selecting virtual/perl-Test-Simple-0.63 even though a higher version is available.  You can work around the problem by adding <=virtual/perl-Test-Simple-0.63 to your package.mask.   I'm work on improving the preference algorithm now...
Comment 5 Zac Medico gentoo-dev 2006-12-29 18:30:07 UTC
Created attachment 104965 [details, diff]
always select the highest available new-style virtual

This is fixed in svn r5419.
Comment 6 Zac Medico gentoo-dev 2006-12-29 22:30:18 UTC
This has been released in 2.1.2_rc4-r3.
Comment 7 Michael Cummings (RETIRED) gentoo-dev 2006-12-31 07:27:33 UTC
Thank you :)