Опять проблемы с обновлением генты. Имеется выхлоп emerge -avDuN --with-bdeps=y @world:
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-lang/perl:0
(dev-lang/perl-5.24.1-r1:0/5.24::gentoo, ebuild scheduled for merge) pulled in by
=dev-lang/perl-5.24* required by (virtual/perl-AutoLoader-5.740.0-r4:0/0::gentoo, installed)
^ ^^^^^
(and 48 more with the same problem)
(dev-lang/perl-5.22.3_rc4:0/5.22::gentoo, installed) pulled in by
dev-lang/perl:0/5.22=[-build(-)] required by (dev-perl/XML-Simple-2.200.0-r1:0/0::gentoo, installed)
^^^^^^^^
(and 146 more with the same problem)
Как мы видим, у нас dev-lang/perl желает обновиться до версии 5.24, но уже установленные модули перла (в eclass'е которых написано что-то типа DEPEND=«dev-lang/perl:=[-build(-)]») препятствуют этому. Очевидно, на момент установки модулей версия перла была 5.22, в соответствии с логикой оператора слота := в DEPEND).
Знатокам вопрос — а как ж emerge сказать, чтобы он все ставшие «неактуальными» слоты с оператором := таки обновил? Понятно, что можно решить проблему топорно — установить новый dev-lang/perl без учета зависимостей (emerge --nodeps), а уж потом запускать обновление мира. Но очевидно, это не то, на что рассчитывали авторы портаджа.
---
UPD: горшочек, не вари. Первый оратор вполне объяснил суть происходящего. Всем спасибо.