Summary: | dev-util/android-tools-6.0.1_p79 - /usr/lib64/ruby/2.1.0/rubygems.rb:15:in `require': cannot load such file -- rubygems/compatibility (LoadError) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dennis Schridde <dschridde+gentoobugs> |
Component: | Current packages | Assignee: | Zac Medico <zmedico> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=493740 https://bugs.gentoo.org/show_bug.cgi?id=585514 https://bugs.gentoo.org/show_bug.cgi?id=624018 https://bugs.gentoo.org/show_bug.cgi?id=628470 https://bugs.gentoo.org/show_bug.cgi?id=585528 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log |
Description
Dennis Schridde
2017-09-19 09:08:29 UTC
bug #585528 comment #4 might contain a clue how to fix this. I had this problem and it turned the reason was that I needed to use eselect ruby to select the new version of ruby. You can check your installed versions of ruby with this command: eselect ruby list I think this command fixed it for me: eselect ruby set ruby22 (In reply to Zac Medico from comment #2) > I had this problem and it turned the reason was that I needed to use eselect > ruby to select the new version of ruby. You can check your installed > versions of ruby with this command: > > eselect ruby list > > I think this command fixed it for me: > > eselect ruby set ruby22 In bug #585528 comment #4 it was mentioned that the ebuild could fix this by depending on virtual/rubygems[${SAME_RUBY_VERSIONS_AS_THIS_PACKAGE}]. (In reply to Dennis Schridde from comment #3) > (In reply to Zac Medico from comment #2) > > I had this problem and it turned the reason was that I needed to use eselect > > ruby to select the new version of ruby. You can check your installed > > versions of ruby with this command: > > > > eselect ruby list > > > > I think this command fixed it for me: > > > > eselect ruby set ruby22 > > In bug #585528 comment #4 it was mentioned that the ebuild could fix this by > depending on virtual/rubygems[${SAME_RUBY_VERSIONS_AS_THIS_PACKAGE}]. The thing is, I had virtual/rubygems[ruby22] installed when I hit this problem, so I had to manually run `eselect ruby set ruby22` in order to solve it. Later on the same day, dev-lang/ruby-2.1.9 got removed by emerge --depclean, so that might have solved it too. (In reply to Zac Medico from comment #4) > (In reply to Dennis Schridde from comment #3) > > (In reply to Zac Medico from comment #2) > > > I had this problem and it turned the reason was that I needed to use eselect > > > ruby to select the new version of ruby. You can check your installed > > > versions of ruby with this command: > > > > > > eselect ruby list > > > > > > I think this command fixed it for me: > > > > > > eselect ruby set ruby22 > > > > In bug #585528 comment #4 it was mentioned that the ebuild could fix this by > > depending on virtual/rubygems[${SAME_RUBY_VERSIONS_AS_THIS_PACKAGE}]. > > The thing is, I had virtual/rubygems[ruby22] installed when I hit this > problem, so I had to manually run `eselect ruby set ruby22` in order to > solve it. Later on the same day, dev-lang/ruby-2.1.9 got removed by emerge > --depclean, so that might have solved it too. Is it possible to make the package use a specific Ruby binary? Otherwise I see no way to prevent more people running into this. I suppose the most robust approach would be for the ebuild to try with each available version of ruby, until it finds one that's not broken. I believe Ruby 2.1 is not actually broken, it is just missing RubyGems. That's at least what eselect claims. And at least the latest RubyGems seems to support only Ruby >=2.2. So the suggestion of depending on rubygems and using one of the versions of Ruby that have RubyGems installed seems to be a viable route. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=107da21cdbb7f32f52206dd9f46a9eb0b2553588 commit 107da21cdbb7f32f52206dd9f46a9eb0b2553588 Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2017-09-19 19:31:42 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2017-09-19 19:37:31 +0000 dev-util/android-tools: detect rubygems interpreter for bug 631398 Fixes: https://bugs.gentoo.org/631398 Package-Manager: Portage-2.3.8, Repoman-2.3.3 dev-util/android-tools/android-tools-6.0.1_p79.ebuild | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (In reply to Dennis Schridde from comment #7) > I believe Ruby 2.1 is not actually broken, it is just missing RubyGems. Seems that it used to work with Ruby 2.1 though, so I guess something has changed. I'd prefer not to break backward compatibility. > That's at least what eselect claims. And at least the latest RubyGems seems > to support only Ruby >=2.2. So the suggestion of depending on rubygems and > using one of the versions of Ruby that have RubyGems installed seems to be a > viable route. I've updated it to depend on virtual/rubygems, and try all available ruby interpreters. |