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

Bug 312315

Summary: circular dependency in @system for x86
Product: Gentoo Linux Reporter: Andrew Gaffney (RETIRED) <agaffney>
Component: [OLD] Core systemAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED TEST-REQUEST    
Severity: normal CC: dev-portage, releng
Priority: High    
Version: autobuilds   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Andrew Gaffney (RETIRED) gentoo-dev 2010-03-31 00:40:51 UTC
The following circular dependency has been causing the x86 autobuilds to fail for at least a month. It only seems to affect this arch. I don't have the time/bandwidth to track this one down myself, so I'm giving it to you guys (base-system).




emerge --quiet --usepkg --buildpkg --newuse -e system
!!! CANNOT IMPORT HTTP.CLIENT: cannot import name HTTPSConnection


[nomerge      ] sys-devel/automake-1.11.1 
[ebuild  N    ]  sys-apps/help2man-1.36.4-r1  USE="nls" 
[ebuild  N    ]   dev-perl/Locale-gettext-1.05-r1 
[ebuild   R   ]    dev-lang/perl-5.8.8-r8  USE="berkdb* gdbm* -build*" 
[ebuild  N    ]     sys-libs/gdbm-1.8.3-r4  USE="berkdb" 
[ebuild  N    ]      sys-libs/db-4.7.25_p4  USE="-doc -java -nocxx -tcl -test" 
[ebuild  NS   ]       sys-devel/automake-1.10.3 [1.11.1]

 * Error: circular dependencies:

('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') depends on
  ('ebuild', '/', 'sys-libs/gdbm-1.8.3-r4', 'merge') (buildtime)
  ('ebuild', '/', 'sys-libs/db-4.7.25_p4', 'merge') (buildtime)
('ebuild', '/', 'sys-libs/gdbm-1.8.3-r4', 'merge') depends on
  ('ebuild', '/', 'sys-libs/db-4.7.25_p4', 'merge') (buildtime)
('ebuild', '/', 'dev-perl/Locale-gettext-1.05-r1', 'merge') depends on
  ('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') (buildtime)
('ebuild', '/', 'sys-apps/help2man-1.36.4-r1', 'merge') depends on
  ('ebuild', '/', 'dev-perl/Locale-gettext-1.05-r1', 'merge') (buildtime)
  ('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') (buildtime)
('ebuild', '/', 'sys-libs/db-4.7.25_p4', 'merge') depends on
  ('ebuild', '/', 'sys-devel/automake-1.10.3', 'merge') (buildtime)
('ebuild', '/', 'sys-devel/automake-1.10.3', 'merge') depends on
  ('ebuild', '/', 'dev-lang/perl-5.8.8-r8', 'merge') (buildtime)
  ('ebuild', '/', 'sys-apps/help2man-1.36.4-r1', 'merge') (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-31 01:02:12 UTC
@portage:
any suggestions on this?

The minimal circular path I can spot is:
sys-devel/automake -> dev-lang/perl -> USE=berkdb sys-libs/db -> automake

I think is due to the WANT_AUTOMAKE default behavior. The latest stable automake is already brought in, but WANT_AUTOMAKE is still set to 1.10 because that's the last version that was stable on ALL arches. (1.11 is only x86/hppa).

Should we extend the WANT_AUTOMAKE=latest behaviour to reflect the architectures maybe? 

One solution that would break the metadata cache would be to do a visibility query and use the result of that as the major version used.
Comment 2 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-03-31 02:12:10 UTC
fixed in rev 1.95 of autotools.eclass.