Summary: | portage-2.1.11.62: Ordering of pkgs for 'emerge -e world' causing compilation failure due to circular dependencies | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Roman Žilka <roman.zilka> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | esigra |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=463976 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 155723 |
Description
Roman Žilka
2013-04-30 20:01:39 UTC
Now with the '-e world' terminated, I ran 'emerge --resume --skipfirst' to skip the libxslt build that I know would fail. But emerge returns this: # emerge --resume --skipfirst Calculating dependencies... done! * One or more packages are either masked or have missing dependencies: * * dev-libs/icu:0/0= pulled in by: * (dev-libs/libxml2-2.9.0-r2::gentoo, installed) * * The resume list contains packages that are either masked or have * unsatisfied dependencies. Please restart/continue the operation * manually, or use --skipfirst to skip the first package in the list and * any other packages that may be masked or have missing dependencies. Why does emerge take icu and libxml2 into consideration now? They had both been merged before the libxslt failure, so I believe emerge should now ignore whatever unresolved deps those two have. It's also interesting that emerge notices the dep of libxml2 on icu now, but it didn't when the original '-e world' deps were being resolved. Maybe it's just a simple bug in the "--emptytree" feature. Finally, it may or may not be wrong that emerge thinks libxml2 depends on icu:0/0=. There is no such icu version if I get things right. The original problem (placing libxml2 before icu) could, hypothetically, be caused by circular deps. If you could suggest an efficient way to discover them, I'd make a good use of it. Ah, this is important: before the original '-e world' I manually upgraded portage to the latest stable (2.1.11.62). (In reply to comment #2) > The original problem (placing libxml2 before icu) could, hypothetically, be > caused by circular deps. Yes, it's probably circular deps. > If you could suggest an efficient way to discover > them, I'd make a good use of it. A couple of things might help mitigate the issue: 1) Do a normal update first, before using -e (that way there are fewer circular deps to deal with during the update phase) 2) Enable FEATURES=preserve-libs in make.conf, so that things like libxml2 continue to be usable after the icu update. |