Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

ruby targets problem


mauricev

Question

When trying to emerge, I get the following

 

WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

virtual/rubygems:0

  virtual/rubygems-13:0/0::ruby-kit, ebuild scheduled for merge conflicts with
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/net-telnet-0.1.1-r1:1/1::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/json-2.1.0:2/2::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/rake-12.1.0:0/0::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/net-telnet-0.1.1-r1:1/1::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/json-2.1.0:2/2::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/rake-12.1.0:0/0::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/minitest-5.10.3:5/5::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-lang/ruby-2.2.9:2.2/2.2::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/power_assert-1.1.0:0/0::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/test-unit-3.2.6:2/2::ruby-kit, ebuild scheduled for merge
                         ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/test-unit-3.2.6:2/2::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-lang/ruby-2.2.9:2.2/2.2::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    virtual/rubygems[ruby_targets_ruby22] required by dev-ruby/minitest-5.10.3:5/5::ruby-kit, ebuild scheduled for merge
                     ^^^^^^^^^^^^^^^^^^^ 
    =virtual/rubygems-13[ruby_targets_ruby22] required by dev-ruby/power_assert-1.1.0:0/0::ruby-kit, ebuild scheduled for merge

 

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

I had a similar problem this morning when I went to update @world.  It seemed to complain that many many ruby libraries wanted racc and rdoc with ruby 2.2 targets, but couldn't have them.   I couldn't get it to run without explicitly turning off ruby 2.2 support.  I kind of felt like I could live with only two recent versions of ruby on my machine instead of 3, esp since I don't personally use ruby at all but clearly some dependency along the way does.    So maybe some ebuilds upstream are phasing out  ruby 2.2 support?  

prospero ~ # emerge -va racc rdoc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-ruby/racc-1.4.14::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24" 0 KiB
[ebuild   R    ] dev-ruby/rdoc-5.1.0::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB

Total: 2 packages (2 reinstalls), Size of downloads: 0 KiB

Oops! Conflicts have been encountered:

>>> dev-ruby/rdoc, wants rdoc
>>> dev-lang/ruby-2.2.9:2.2/2.2::ruby-kit, installed, wants >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby22]

My candidates are:

>>> dev-ruby/rdoc-5.1.0:0/0::ruby-kit, ebuild scheduled for merge has SLOT 0/0 but not IUSE ruby_targets_ruby22
>>> dev-ruby/rdoc-5.1.0:0/0::ruby-kit, installed has SLOT 0/0 and IUSE ruby_targets_ruby22



We hope this informational output has been useful in identifying the
problem. We are continually working to reduce conflicts. Do not
hesitate to report a bug at https://bugs.funtoo.org. Thank you! :)

prospero ~ # RUBY_TARGETS="ruby23 ruby24" emerge -vauDN @system

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] virtual/rubygems-13::ruby-kit  RUBY_TARGETS="ruby23 ruby24 (-rbx) (-ruby22%*)" 0 KiB
[ebuild   R    ] dev-ruby/rake-12.1.0::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB
[ebuild   R    ] dev-ruby/power_assert-1.1.0::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB
[ebuild   R    ] dev-ruby/minitest-5.10.3:5::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB
[ebuild   R    ] dev-ruby/json-2.1.0:2::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB
[ebuild   R    ] dev-ruby/test-unit-3.2.6:2::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby22*" 0 KiB
[ebuild   R    ] dev-ruby/rdoc-5.1.0::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 (-ruby22%*)" 0 KiB

Total: 7 packages (7 reinstalls), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] 

this got me through my regular updates, but purged ruby 2.2 from my system, and I'm not noticing the loss yet.

Link to comment
Share on other sites

  • 0

I put RUBY_TARGETS="ruby23 ruby24"  in make.conf and now everything is emerging. If I comment the line, I get this

emerge: there are no ebuilds built with USE flags to satisfy "virtual/rubygems[ruby_targets_ruby22]".
!!! One of the following packages is required to complete your request:
- virtual/rubygems-13::ruby-kit (Missing IUSE: ruby_targets_ruby22)
- virtual/rubygems-12::ruby-kit (Missing IUSE: ruby_targets_ruby22)
- virtual/rubygems-11::ruby-kit (Missing IUSE: ruby_targets_ruby22)
(dependency required by "dev-ruby/minitest-5.10.3::ruby-kit[-test,ruby_targets_ruby22]" [ebuild])
(dependency required by "dev-lang/ruby-2.4.3::ruby-kit" [installed])
(dependency required by "dev-ruby/test-unit-3.2.6::ruby-kit[ruby_targets_ruby24]" [ebuild])
(dependency required by "dev-lang/ruby-2.3.6::ruby-kit" [installed])
(dependency required by "dev-ruby/net-telnet-0.1.1-r1::ruby-kit[ruby_targets_ruby23]" [ebuild])

 

Link to comment
Share on other sites

  • 0
2 hours ago, jhan said:

My guess would be that the packages compiled with ruby 2.2 are trying to pull in the old ruby version.

On my system I only have ruby 2.4 enabled. But even if I want to activate ruby 2.2 it does not show. Could it be that ruby 2.2 is globally deactivated?

I think that the above emerge would reemerge the "faulty" packages and get rid of the error messages.

yeah When I went to --depclean after @world it purged ruby 2.2,  and  I felt totally ok with only having two rubies.  

I suspect that what is going on is ruby 2.2 is in the process of being unsupported and it is taking time for that news to percolate through all the varies ruby library maintainers.  In the short term the command line variable setting gets it done while leaving space for the ruby-kit or whatever is setting my RUBY_TARGETS to change in the near future. 

Link to comment
Share on other sites

  • 0

OK I am still getting the hang of kits and funtoo style profiles.  But wherever basic targets are set for the system I'd rather not override these in make.conf (why I reset the RUBY_TARGETS variable on the commandline).  so looking at 

 

# ego query v ruby
 dev-lang/ruby| slot|               repo
--------------+-----+-------------------
         2.2.9|  2.2| ruby-kit/1.1-prime
--------------+-----+-------------------
         2.3.5|  2.3| ruby-kit/1.1-prime
       * 2.3.6|     | ruby-kit/1.1-prime
--------------+-----+-------------------
         2.4.2|  2.4| ruby-kit/1.1-prime
       * 2.4.3|     | ruby-kit/1.1-prime

  virtual/ruby| slot|               repo
--------------+-----+-------------------
             1|    0| ruby-kit/1.1-prime

and then https://github.com/funtoo/ruby-kit

I decided to try the ruby 1.2 branch of ruby-kit.  I added this to /etc/ego.conf:

ruby-kit = 1.2-prime

then (after ego sync to update the kit git branches) I get 

# emerge -vauDN @world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] app-editors/atom-bin-1.28.0_beta3::editors-kit [1.28.0_beta2::editors-kit] USE="-system-node" 134,818 KiB
[ebuild     U  ] app-editors/vim-core-8.1.0036::editors-kit [8.1.0035::editors-kit] USE="acl nls -minimal" 13,333 KiB
[ebuild     U  ] app-editors/vim-8.1.0036::editors-kit [8.1.0035::editors-kit] USE="X acl gpm nls python vim-pager -cscope -debug -lua -luajit -minimal -perl -racket -ruby (-selinux) -tcl" PYTHON_TARGETS="python2_7 python3_6 -python3_4 -python3_5" 0 KiB
[ebuild     U  ] virtual/rubygems-14::ruby-kit [13::ruby-kit] RUBY_TARGETS="ruby23 ruby24 (-rbx) -ruby25%" 0 KiB
[ebuild     U  ] dev-ruby/rake-12.3.0::ruby-kit [12.1.0::ruby-kit] USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 117 KiB
[ebuild     U  ] dev-ruby/power_assert-1.1.1::ruby-kit [1.1.0::ruby-kit] USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 17 KiB
[ebuild     U  ] dev-ruby/minitest-5.11.1:5::ruby-kit [5.10.3:5::ruby-kit] USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 78 KiB
[ebuild   R    ] dev-ruby/net-telnet-0.1.1-r1:1::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 0 KiB
[ebuild   R    ] dev-ruby/xmlrpc-0.3.0::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 0 KiB
[ebuild   R    ] dev-ruby/kpeg-1.1.0:1::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 0 KiB
[ebuild     U  ] dev-ruby/rubygems-2.7.4::ruby-kit [2.6.14::ruby-kit] USE="-server {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 887 KiB
[ebuild     U  ] dev-ruby/test-unit-3.2.7:2::ruby-kit [3.2.6:2::ruby-kit] USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25% (-ruby22%)" 126 KiB
[ebuild   R    ] dev-ruby/json-2.1.0:2::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 0 KiB
[ebuild   R    ] dev-ruby/racc-1.4.14::ruby-kit  USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 0 KiB
[ebuild     U  ] dev-ruby/rdoc-6.0.1::ruby-kit [5.1.0::ruby-kit] USE="-doc {-test}" RUBY_TARGETS="ruby23 ruby24 -ruby25%" 681 KiB
[ebuild     U  ] www-client/chromium-66.0.3359.181::net-kit [66.0.3359.170::net-kit] USE="cups hangouts kerberos (pic) proprietary-codecs pulseaudio suid system-ffmpeg -component-build -custom-cflags -gnome-keyring -jumbo-build (-neon) (-selinux) (-system-icu) (-system-libvpx) (-tcmalloc) -widevine" L10N="am ar bg bn ca cs da de el en-GB es es-419 et fa fi fil fr gu he hi hr hu id it ja kn ko lt lv ml mr ms nb nl pl pt-BR pt-PT ro ru sk sl sr sv sw ta te th tr uk vi zh-CN zh-TW" 0 KiB

Total: 16 packages (11 upgrades, 5 reinstalls), Size of downloads: 150,056 KiB

Would you like to merge these packages? [Yes/No] 

RUBY_TARGETS still wants 2.2 because emerge --info shows RUBY_TARGETS="ruby22 ruby23 ruby24" but the ebuilds in ruby-kit 1.2 seem to only have ruby 2.3, 2.4 and 2.5 masked, so it's not a problem.  

I prefer this to adding cruft to my make.conf, but your mileage may vary.  I guess I'm just adding cruft to my /etc/ego.conf instead, but this link below may be relevant:

 

  

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...