'emerge world' fails with: root@leopard:/root(13)# emerge -uvND world These are the packages that would be merged, in order: Calculating dependencies | !!! Problem resolving dependencies for app-emulation/vagrant from @selected ... done! !!! The ebuild selected to satisfy "app-emulation/vagrant" has unmet requirements. - app-emulation/vagrant-1.4.3-r2::gentoo USE="-test" RUBY_TARGETS="-ruby20" The following REQUIRED_USE flag constraints are unsatisfied: ruby_targets_ruby20 The above constraints are a subset of the following complete expression: any-of ( ruby_targets_ruby20 ) (dependency required by "@selected" [set]) (dependency required by "@world" [argument]) If I add app-emulation/vagrant ruby_targets_ruby20 tp /etc/portage/packages.use, it fails with: root@leopard:/root(14)# emerge -uvND world These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] dev-libs/libyaml-0.1.5 [0.1.4] USE="doc examples -static-libs {-test}" 494 kB [ebuild U ] kde-base/kde-env-4.12.2:4/4.12 [4.12.1:4/4.12] USE="(-aqua)" 0 kB [ebuild U ] app-editors/vim-core-7.4.169 [7.4.155] USE="acl nls -minimal" 219 kB [ebuild U ] x11-libs/pango-1.36.2 [1.36.1] USE="X introspection -debug" 1,002 kB [ebuild U ] net-misc/youtube-dl-2014.02.06.2 [2014.02.04.1] USE="-offensive {-test}" PYTHON_SINGLE_TARGET="python2_7 -python2_6 -python3_3" PYTHON_TARGETS="python2_7 python3_3 -python2_6" 615 kB [ebuild U ] dev-python/python-dateutil-2.2 [2.1-r1] USE="examples" PYTHON_TARGETS="python2_7 python3_3 -pypy2_0 -python2_6 -python3_2" 254 kB [ebuild U ] dev-python/pytz-2013.9 [2013d] PYTHON_TARGETS="python2_7 python3_3 -pypy2_0 -python2_6 -python3_2" 156 kB [ebuild NS ] virtual/ruby-threads-4:ruby20 [0:ruby18, 1:ruby19] RUBY_TARGETS="(ruby20)" 0 kB [ebuild NS ] virtual/ruby-ssl-3:ruby20 [1:ruby19] RUBY_TARGETS="(ruby20)" 0 kB [ebuild R ] dev-ruby/log4r-1.1.10-r1 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB [ebuild R ] dev-ruby/abstract-1.0.0-r2 USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/rspec-mocks-2.14.5:2 USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/net-ssh-2.8.0:2.6 USE="doc {-test}" RUBY_TARGETS="ruby19 ruby20*" 0 kB [ebuild R ] dev-ruby/rake-compiler-0.9.2 USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/erubis-2.7.0-r1 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/i18n-0.6.9-r1:0.6 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/net-scp-1.1.2-r1:2 USE="doc {-test}" RUBY_TARGETS="ruby19 ruby20*" 0 kB [ebuild R ] dev-ruby/diff-lcs-1.2.5 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/hoe-2.13.0-r1 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/rspec-expectations-2.14.2:2 USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/bluecloth-2.2.0-r1 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB [ebuild R ] dev-ruby/yard-0.8.7.3 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/rspec-core-2.14.3:2 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/ffi-1.9.3 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB [ebuild R ] dev-ruby/rspec-2.14.1:2 USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] virtual/ruby-ffi-2 RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB [ebuild R ] dev-ruby/childprocess-0.4.0:2 USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB ... [ebuild U ] gnome-base/gnome-shell-3.10.3 [3.10.2.1] USE="bluetooth i18n networkmanager (-openrc-force)" PYTHON_TARGETS="python2_7 -python2_6" 1,485 kB Total: 126 packages (106 upgrades, 2 in new slots, 18 reinstalls), Size of downloads: 538,164 kB The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by dev-ruby/rspec-expectations-2.14.2[ruby_targets_ruby20] # required by dev-ruby/rspec-2.14.1[ruby_targets_ruby19] # required by dev-ruby/childprocess-0.4.0[-test,doc,ruby_targets_ruby20] # required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20] # required by @selected # required by @world (argument) >=dev-ruby/diff-lcs-1.2.5 ruby_targets_ruby20 # required by dev-ruby/childprocess-0.4.0[-test,doc,ruby_targets_ruby20] # required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20] # required by @selected # required by @world (argument) >=dev-ruby/rspec-2.14.1 ruby_targets_ruby20 # required by dev-ruby/bluecloth-2.2.0-r1[ruby_targets_ruby20] # required by dev-ruby/yard-0.8.7.3[doc,ruby_targets_ruby20] # required by dev-ruby/ffi-1.9.3[ruby_targets_ruby20] # required by virtual/ruby-ffi-2[ruby_targets_ruby19] # required by dev-ruby/childprocess-0.4.0[ruby_targets_ruby18] # required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20] # required by @selected # required by @world (argument) >=dev-ruby/hoe-2.13.0-r1 ruby_targets_ruby20 ... >=dev-ruby/erubis-2.7.0-r1 ruby_targets_ruby20 # required by dev-ruby/erubis-2.7.0-r1[ruby_targets_ruby20] # required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20] # required by @selected # required by @world (argument) >=dev-ruby/abstract-1.0.0-r2 ruby_targets_ruby20 The following ruby packages are installed: root@leopard:/root(15)# qlist -Iv ruby app-admin/eselect-ruby-20131227 app-xemacs/ruby-modes-1.04 dev-lang/ruby-1.8.7_p374-r1 dev-lang/ruby-1.9.3_p484 dev-lang/ruby-2.0.0_p353-r1 dev-lang/ruby-2.1.0 dev-ruby/abstract-1.0.0-r2 dev-ruby/bluecloth-2.2.0-r1 dev-ruby/builder-3.2.2 dev-ruby/childprocess-0.4.0 dev-ruby/diff-lcs-1.2.5 dev-ruby/erubis-2.7.0-r1 dev-ruby/facter-1.7.4 dev-ruby/ffi-1.9.3 dev-ruby/hiera-1.3.1 dev-ruby/hoe-2.13.0-r1 dev-ruby/i18n-0.6.9-r1 dev-ruby/json-1.8.1 dev-ruby/log4r-1.1.10-r1 dev-ruby/net-scp-1.1.2-r1 dev-ruby/net-ssh-2.8.0 dev-ruby/racc-1.4.11 dev-ruby/rake-0.9.6-r1 dev-ruby/rake-compiler-0.9.2 dev-ruby/rdoc-4.0.1-r2 dev-ruby/rspec-2.14.1 dev-ruby/rspec-core-2.14.3 dev-ruby/rspec-expectations-2.14.2 dev-ruby/rspec-mocks-2.14.5 dev-ruby/ruby-ldap-0.9.16 dev-ruby/rubygems-2.0.14 dev-ruby/yard-0.8.7.3 virtual/ruby-ffi-2 virtual/ruby-ssl-1 virtual/ruby-threads-0 virtual/ruby-threads-1 virtual/rubygems-1 virtual/rubygems-4 virtual/rubygems-6 virtual/rubygems-7 I am not really interested in these ruby-packages. I have not 'really' set ruby USE flags in /etc/make.conf or /etc/portage/package.use/monolithic besides of some ruby_targets_*, where I was requested to do: root@leopard:/root(16)# grep ruby /etc/make.conf #NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" #RUBY_TARGETS="ruby18 jruby" root@leopard:/root(17)# grep "^[^#].*ruby" /etc/make.conf root@leopard:/root(18)# grep "^[^#].*ruby" /etc/portage/package.use/ grep: /etc/portage/package.use/: Is a directory root@leopard:/root(19)# grep "^[^#].*ruby" /etc/portage/package.use/monolithic app-emulation/vagrant ruby_targets_ruby20 dev-lang/ruby -tk dev-ruby/bouncy-castle-java ruby_targets_jruby >=dev-ruby/json-1.8.1 ruby_targets_ruby21 >=dev-ruby/racc-1.4.10 ruby_targets_ruby21 >=dev-ruby/rake-0.9.6-r1 ruby_targets_ruby21 >=dev-ruby/rdoc-4.0.1-r2 ruby_targets_ruby21 >=dev-ruby/rubygems-2.0.14 ruby_targets_ruby21 >=virtual/rubygems-6 ruby_targets_ruby21 I have the feeling that ruby is often responsible for dependency problems in 'emerge -uvDN world'. So I would like to get rid of as much as possible ruby packages. Is there a recommended way?
I tried to find out, which of my installed package requires ruby: root@leopard:/root(33)# emerge -pv --depclean `qlist -ICv ruby | sed "s/^/=/g"` | grep -v "^[[:space:]]*dev-ruby\|^[[:space:]]*dev-lang/ruby\|^[[:space:]]*virtual/ruby\|^$" Calculating dependencies .......... .... done! app-admin/eselect-ruby-20131227 pulled in by: app-xemacs/ruby-modes-1.04 pulled in by: app-xemacs/xemacs-packages-all-2010.07.29 requires >=app-xemacs/ruby-modes-1.04 app-admin/puppet-3.4.2-r1 requires dev-lang/ruby:1.9, dev-lang/ruby:1.9[yaml] app-emulation/vagrant-1.4.3-r1 requires dev-lang/ruby:1.9 media-video/mkvtoolnix-6.7.0 requires dev-lang/ruby net-analyzer/rrdtool-1.4.8 requires >=dev-lang/ruby-1.8.6_p287-r13 app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/childprocess-0.3.7[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/erubis-2.7.0[ruby_targets_ruby19] app-admin/puppet-3.4.2-r1 requires >=dev-ruby/facter-1.6.2[ruby_targets_ruby19] app-admin/puppet-3.4.2-r1 requires dev-ruby/hiera[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires dev-ruby/i18n:0.6[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/json-1.5.1[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/log4r-1.1.9[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/net-scp-1.1.0[ruby_targets_ruby19] So essentially it seems to be: puppet, vagrant, xemacs-packages-all, mkvtoolnix, rrdtool, webkit-gtk-2.2.4-r200 and webkit-gtk. Is there any experience with adding -ruby USE flag to this packages? app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/net-ssh-2.6.6[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires dev-ruby/rake[ruby_targets_ruby19] app-admin/puppet-3.4.2-r1 requires dev-ruby/rdoc[ruby_targets_ruby19] app-admin/puppet-3.4.2-r1 requires dev-ruby/ruby-ldap[ruby_targets_ruby19] app-admin/puppet-3.4.2-r1 requires =virtual/ruby-ssl-1[ruby_targets_ruby19], virtual/ruby-ssl[ruby_targets_ruby19] app-emulation/vagrant-1.4.3-r1 requires virtual/rubygems[ruby_targets_ruby19] net-libs/webkit-gtk-2.2.4 requires =virtual/rubygems-7[ruby_targets_ruby21], virtual/rubygems[ruby_targets_ruby21] net-libs/webkit-gtk-2.2.4-r200 requires =virtual/rubygems-7[ruby_targets_ruby21], virtual/rubygems[ruby_targets_ruby21] >>> No packages selected for removal by depclean ...
Apparently you should set USE=ruby_targets_ruby20 : # ebuildvar REQUIRED_USE vagrant-1.0.7.ebuild : EAPI=5 vagrant-1.0.7.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator vagrant-1.0.7.ebuild : REQUIRED_USE=" vagrant-1.0.7.ebuild : || ( ruby_targets_ruby18 ruby_targets_ruby19 ) vagrant-1.0.7.ebuild : " vagrant-1.4.3-r1.ebuild : EAPI=5 vagrant-1.4.3-r1.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator vagrant-1.4.3-r1.ebuild : REQUIRED_USE=" vagrant-1.4.3-r1.ebuild : || ( ruby_targets_ruby19 ) vagrant-1.4.3-r1.ebuild : " vagrant-1.4.3-r2.ebuild : EAPI=5 vagrant-1.4.3-r2.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator vagrant-1.4.3-r2.ebuild : REQUIRED_USE=" vagrant-1.4.3-r2.ebuild : || ( ruby_targets_ruby20 ) vagrant-1.4.3-r2.ebuild : "
(In reply to Juergen Rose from comment #1) > So essentially it seems to be: puppet, vagrant, xemacs-packages-all, > mkvtoolnix, rrdtool, webkit-gtk-2.2.4-r200 and webkit-gtk. Is there any > experience with adding -ruby USE flag to this packages? This is how ruby works in Gentoo, you'll either have to add RUBY_TARGETS="ruby20" globally in make.conf or specifically enable the ruby_targets_ruby20 use flag for every vagrant-1.4.3-r2 dep. There's no way to get rid of ruby if you're using vagrant because vagrant is written in ruby.