'emerge -uvDN --keep-going --verbose-conflicts --backtrack=50 world' fails with: ... !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-libs/openssl:0 (dev-libs/openssl-1.1.0j:0/1.1::gentoo, ebuild scheduled for merge) pulled in by >=dev-libs/openssl-1.1.0g:0[bindist=] required by (net-misc/openssh-7.9_p1-r1:0/0::gentoo, installed) ^^ ^^^^^^^^ (dev-libs/openssl-1.0.2q:0/0::gentoo, ebuild scheduled for merge) pulled in by <dev-libs/openssl-1.1:0/0= required by (dev-lang/ruby-2.3.8-r1:2.3/2.3::gentoo, installed) ^ ^^^^^^^^ =dev-libs/openssl-1.0.2*:0=[-bindist] required by (net-libs/nodejs-8.15.0:0/0::gentoo, installed) ^ ^^^^^^^^^ dev-libs/openssl:0/0= required by (net-misc/openssh-7.9_p1-r1:0/0::gentoo, installed) ^^^^^ <dev-libs/openssl-1.1:0= required by (dev-lang/ruby-2.3.8-r1:2.3/2.3::gentoo, installed) ^ ^^^^^^ =dev-libs/openssl-1.0.2*:0/0=[-bindist] required by (net-libs/nodejs-8.15.0:0/0::gentoo, installed)
You'll need to set RUBY_TARGETS="ruby24" (or otherwise somehow disable ruby23 deps) to get openssl-1.1.0*
(In reply to Ben Kohler from comment #1) > You'll need to set RUBY_TARGETS="ruby24" (or otherwise somehow disable > ruby23 deps) to get openssl-1.1.0* It seems, that there are several packages depending on ruby-2.3.8: root@lynx:/root(41)# emerge -pv --depclean =ruby-2.3* Calculating dependencies... done! dev-lang/ruby-2.3.8-r1 pulled in by: dev-ruby/asciidoctor-1.5.8 requires dev-lang/ruby:2.3 dev-ruby/builder-3.2.3 requires dev-lang/ruby:2.3 dev-ruby/did_you_mean-1.0.2 requires dev-lang/ruby:2.3 dev-ruby/json-2.1.0-r1 requires dev-lang/ruby:2.3 dev-ruby/kpeg-1.1.0-r1 requires dev-lang/ruby:2.3 dev-ruby/minitest-5.11.3 requires dev-lang/ruby:2.3 dev-ruby/net-telnet-0.2.0 requires dev-lang/ruby:2.3 dev-ruby/power_assert-1.1.3 requires dev-lang/ruby:2.3 dev-ruby/racc-1.4.14 requires dev-lang/ruby:2.3 dev-ruby/rake-12.3.2 requires dev-lang/ruby:2.3 dev-ruby/rdoc-6.1.1 requires dev-lang/ruby:2.3 dev-ruby/rrdtool-bindings-1.7.0 requires dev-lang/ruby:2.3 dev-ruby/rubygems-3.0.1 requires dev-lang/ruby:2.3 dev-ruby/test-unit-3.2.9 requires dev-lang/ruby:2.3 dev-ruby/xmlrpc-0.3.0 requires dev-lang/ruby:2.3 virtual/rubygems-15 requires dev-lang/ruby:2.3 root@lynx:/root(42)# emerge -pv1 asciidoctor dev-ruby/builder dev-ruby/json kpeg dev-ruby/minitest dev-ruby/net-telnet power_assert racc rake rdoc rrdtool-bindings rubygems test-unit xmlrpc virtual/rubygems These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-ruby/rrdtool-bindings-1.7.0::gentoo USE="graph -test" RUBY_TARGETS="ruby23 ruby24 -ruby25" 0 KiB [ebuild R ] dev-ruby/rubygems-3.0.1::gentoo USE="server -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] virtual/rubygems-15::gentoo RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/kpeg-1.1.0-r1:1::gentoo USE="-doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/rdoc-6.1.1::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/rake-12.3.2::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/power_assert-1.1.3::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/asciidoctor-1.5.8::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24" 0 KiB [ebuild R ] dev-ruby/minitest-5.11.3:5::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/net-telnet-0.2.0:1::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/xmlrpc-0.3.0::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/builder-3.2.3:3.2::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 -ruby25" 0 KiB [ebuild R ] dev-ruby/racc-1.4.14::gentoo USE="-doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/json-2.1.0-r1:2::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB [ebuild R ] dev-ruby/test-unit-3.2.9:2::gentoo USE="doc -test" RUBY_TARGETS="ruby23 ruby24 ruby25 -ruby26" 0 KiB
And virtual/rubygems-15 seems to again a dependency of net-libs/webkit-gtk-2.22.4, at least on my system.
'equery hasuse ruby_targets_ruby23' shows targets depending on ruby23: root@lynx:/root(52)# equery hasuse ruby_targets_ruby23 * Searching for USE flag ruby_targets_ruby23 ... [IP-] [ ] dev-ruby/asciidoctor-1.5.8:0 [IP-] [ ] dev-ruby/builder-3.2.3:3.2 [IP-] [ ] dev-ruby/did_you_mean-1.0.2:1 [IP-] [ ] dev-ruby/json-2.1.0-r1:2 [IP-] [ ] dev-ruby/kpeg-1.1.0-r1:1 [IP-] [ ] dev-ruby/minitest-5.11.3:5 [IP-] [ ] dev-ruby/net-telnet-0.2.0:1 [IP-] [ ] dev-ruby/power_assert-1.1.3:0 [IP-] [ ] dev-ruby/racc-1.4.14:0 [IP-] [ ] dev-ruby/rake-12.3.2:0 [IP-] [ ] dev-ruby/rdoc-6.1.1:0 [IP-] [ ] dev-ruby/rrdtool-bindings-1.7.0:0 [IP-] [ ] dev-ruby/rubygems-3.0.1:0 [IP-] [ ] dev-ruby/test-unit-3.2.9:2 [IP-] [ ] dev-ruby/xmlrpc-0.3.0:0 [IP-] [ ] virtual/rubygems-15:0 If I try to reemerge these packages with the -ruby_targets_ruby23 USE flag, it fails with: root@lynx:/root(54)# emerge -pv1 asciidoctor dev-ruby/builder =dev-ruby/did_you_mean-1.0.2 dev-ruby/json kpeg dev-ruby/minitest net-telnet power_assert racc rake rdoc rrdtool-bindings rubygems test-unit xmlrpc virtual/rubygems These are the packages that would be merged, in order: Calculating dependencies | !!! Problem resolving dependencies for =dev-ruby/did_you_mean-1.0.2 ... done! !!! The ebuild selected to satisfy "=dev-ruby/did_you_mean-1.0.2" has unmet requirements. - dev-ruby/did_you_mean-1.0.2::gentoo USE="-test" ABI_X86="(64)" RUBY_TARGETS="-ruby23" The following REQUIRED_USE flag constraints are unsatisfied: ruby_targets_ruby23 The above constraints are a subset of the following complete expression: any-of ( ruby_targets_ruby23 )
After deleting did_you_mean-1.0.2 (emerge -C =did_you_mean-1.0.2), I could reemerge the other packages with the -ruby_targets_ruby23 USE flag. Then I removed ruby-2.3.8-r1 (emerge -v --depclean =dev-lang/ruby-2.3.8-r1) and the subsequent 'emerge -uvDN --backtrack=50 world' did not complain about slot conflicts.