Summary: | sys-apps/portage: circular dependency triggers AttributeError: 'SonameAtom' object has no attribute 'unevaluated_atom' | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Zac Medico <zmedico> |
Component: | Core - Interface (emerge) | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | InVCS |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://github.com/gentoo/portage/pull/1201 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 918929 | ||
Bug Blocks: | 694246 |
When I see the dependency cycle that triggered this, it could end up being a lot like bug 919174, since it was with ROOT != / and binary packages. It was a containerized build and I lost everything, so I'll have to repeat the build to find out what the cycle was. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=036a0785d2595defc55ef03e424ffdf739a108b1 commit 036a0785d2595defc55ef03e424ffdf739a108b1 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2023-12-06 00:26:17 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2023-12-06 16:06:00 +0000 circular_dependency: Handle SonameAtom Treat soname deps is as unconditional for now. In some cases they can be avoided by a rebuild with changed USE, but ebuilds sometimes do not specify the corresponding conditional dependency (especially for system packages like gcc which provides libstdc++.so.6 and libgcc_s.so.1). Bug: https://bugs.gentoo.org/919311 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/_emerge/resolver/circular_dependency.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0d365d80099d206e49b592abb30030642f8f09f9 commit 0d365d80099d206e49b592abb30030642f8f09f9 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-12-10 22:34:47 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-12-10 22:34:52 +0000 sys-apps/portage: add 3.0.57 Closes: https://bugs.gentoo.org/918929 Closes: https://bugs.gentoo.org/913628 Closes: https://bugs.gentoo.org/915474 Closes: https://bugs.gentoo.org/918597 Closes: https://bugs.gentoo.org/919072 Closes: https://bugs.gentoo.org/919105 Closes: https://bugs.gentoo.org/919174 Closes: https://bugs.gentoo.org/919311 Closes: https://bugs.gentoo.org/919419 Closes: https://bugs.gentoo.org/919668 Signed-off-by: Sam James <sam@gentoo.org> sys-apps/portage/Manifest | 1 + sys-apps/portage/portage-3.0.57.ebuild | 242 +++++++++++++++++++++++++++++++++ 2 files changed, 243 insertions(+) |
This issue is present in portage-3.0.56 with --ignore-soname-deps=n: > Dependency resolution took 2.24 s (backtrack: 1/10). > Traceback (most recent call last): > File "/usr/lib/python-exec/python3.10/emerge", line 57, in main > retval = emerge_main() > File "/usr/lib/python3.10/site-packages/_emerge/main.py", line 1308, in emerge_main > return run_action(emerge_config) > File "/usr/lib/python3.10/site-packages/_emerge/actions.py", line 4008, in run_action > retval = action_build(emerge_config, spinner=spinner) > File "/usr/lib/python3.10/site-packages/_emerge/actions.py", line 450, in action_build > mydepgraph.display_problems() > File "/usr/lib/python3.10/site-packages/_emerge/depgraph.py", line 10624, in display_problems > self._show_circular_deps(self._dynamic_config._circular_deps_for_display) > File "/usr/lib/python3.10/site-packages/_emerge/depgraph.py", line 9934, in _show_circular_deps > self._dynamic_config._circular_dependency_handler = circular_dependency_handler( > File "/usr/lib/python3.10/site-packages/_emerge/resolver/circular_dependency.py", line 47, in __init__ > self.solutions, self.suggestions = self._find_suggestions() > File "/usr/lib/python3.10/site-packages/_emerge/resolver/circular_dependency.py", line 135, in _find_suggestions > parent_atom = atom.unevaluated_atom > AttributeError: 'SonameAtom' object has no attribute 'unevaluated_atom'