Summary: | net-libs/webkit-gtk-2.2.5 - .../temp/environment: line 4581: RUBY=/usr/bin/ruby20: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | headcrabextra |
Component: | [OLD] GNOME | Assignee: | Gentoo Ruby Team <ruby> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | gnome, haubi, kripton, openhs, rose, staff, vostorga |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=513888 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build log |
Description
headcrabextra
2014-03-17 12:13:51 UTC
In my case the problem disappeared after "eselect ruby set ruby20". Previously I had ruby18 selected. The problem happened during update world. It could have something to do with Ruby 1.8 retirement. @ruby team, is there anything wrong in the way we are handling ruby depend? (it's only needed at buildtime) "/usr/bin/ruby: no such file to load -- auto_gem (LoadError)" What is the output of emerge -pv dev-ruby/rubygems ? Please reinstall dev-ruby/rubygems and see if that fixes the error. @ Pacho: No you it looks good. Please remove virtual/rubygems[ruby_targets_ruby18] when we remove it from p.mask. :-) # emerge -pv rubygems These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-ruby/rubygems-2.0.3 USE="server {-test}" RUBY_TARGETS="ruby19 ruby20 -jruby (-ruby18)" 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB So this shows that rubygems were not installed for ruby18, right? I think I know what has happened: From my saved emerge world output I can see that rubygems-2.0.3 were re-emerged because of (-ruby18*) use flag change. This is where current ruby-1.8 lost its gems. Later, webkit-gtk is going to be updated but fails because of that. I can confirm that I encountered this same error during update world of my laptop. Swithcing to ruby 20 with gems from ruby 18 makes the build successful. Did you read the news item that asks you to run eselect for setting newer ruby instead of 1.8? (In reply to Pacho Ramos from comment #6) > Did you read the news item that asks you to run eselect for setting newer > ruby instead of 1.8? I read it and I didn't change anything because either I didn't have newer version of ruby installed or I already had newer version of ruby selected. (I don't remember which case it was) I've read the news item too. It recommends to eselect newer ruby. I did not do it before "emerge world" run as it was only recommendation, not a requirement (I planned to take care of it after the emerge world finishes). Based on the information I provided here it seems that in reality WebKit-gtk depends on Ruby _with_ RubyGems. If that is true the emerge process should obey that dependency and use some "Ruby with gems" installation (regardless of eselect status) or pull one if none is installed. I think that the problem is that during the same merge rubygems is updated (dropping its ruby18 code) and webkit-gtk is emerged (with the eselected ruby still ruby18). This fails because now ruby18 can't find auto_gem.rb which is installed by rubygems and required via the RUBYOPT environment variable. Things will be fixed after unmerging ruby:1.8 or eselecting a newer ruby implementation. I'm not sure there is anything we can do in terms of dependencies here since we can't use information about the currently eselected version in dependencies. Perhaps we can improve on this by changing the wording in the news item to indicated that this should be eselected before updating. (In reply to Hans de Graaff from comment #9) > I think that the problem is that during the same merge rubygems is updated > (dropping its ruby18 code) and webkit-gtk is emerged (with the eselected > ruby still ruby18). This fails because now ruby18 can't find auto_gem.rb > which is installed by rubygems and required via the RUBYOPT environment > variable. > > Things will be fixed after unmerging ruby:1.8 or eselecting a newer ruby > implementation. > > I'm not sure there is anything we can do in terms of dependencies here since > we can't use information about the currently eselected version in > dependencies. > > Perhaps we can improve on this by changing the wording in the news item to > indicated that this should be eselected before updating. This is from a one month old laptop and I have not deliberately installed ruby: jglaptop ~ # eselect ruby show Current Ruby version: ruby18 Current Rubygems version: gem?? I wasn't even aware it was installed and only noticed the snag because webkit-gtk was at the end of a large update and I recognised "auto_gem" related problems from another machine when I was testing out Logstash. I got this: Creating hashtable for Source/JavaScriptCore/runtime/StringConstructor.cpp /usr/bin/ruby ./Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb ./Source/JavaScriptCore/llint/LowLevelInterpreter.asm DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h /usr/bin/ruby: no such file to load -- auto_gem (LoadError) GNUmakefile:78524: recipe for target 'DerivedSources/JavaScriptCore/LLIntDesiredOffsets.h' failed As before I disabled the /etc/env.d/10-rubygems entry, env-update and re start my console session and this ebuild worked OK. So I think a little more detail on what to do in the event of only having ruby18 listed in eselect would help in the news item. I read it and assumed it didn't apply yet. Me: I'm off to fiddle with emerge again 8) (In reply to Jon Gerdes from comment #10) > So I think a little more detail on what to do in the event of only having > ruby18 listed in eselect would help in the news item. I read it and assumed > it didn't apply yet. > > Me: I'm off to fiddle with emerge again 8) ... Simply: #emerge -va1 ruby #eselect ruby select 2 (ie 19) and then this works - nothing else needs doing. I undid my change to the env.d file first. #emerge -va1 webkit-gtk So an addition to the news item detailing this would be handy if you only have ruby18 listed by eselect. eselect ruby show Current Ruby version: ruby20 Current Rubygems version: gem20 When i try to compile webkit-gtk, i have this error: /var/tmp/portage/net-libs/webkit-gtk-2.2.5/temp/environment: line 4720: RUBY=/usr/bin/ruby20: No such file or directory And then, at the end: <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by default] Source/WebCore/platform/graphics/MediaPlayer.cpp:1:0: note: this is the location of the previous definition and many more, like this. What's wrong? GCC 4.8. Version of webkit-gtk doesn't change anything. Thank you for attention I think we cannot do more from a "gnome team" point of view... ruby team will know much better how to document the ruby update (if still needed) :| *** Bug 536980 has been marked as a duplicate of this bug. *** Isn't this the same issue as bug 513888 ? In that case the new ruby-single.eclass might help. *** This bug has been marked as a duplicate of bug 513888 *** |