JRuby

1.2.0: jruby --1.9 picks up the wrong path for loading modules

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: JRuby 1.2
  • Fix Version/s: JRuby 1.3RC1
  • Component/s: Interpreter
  • Labels:
    None
  • Environment:
    MacOS X 10.5.6, jruby installed from macports.
  • Number of attachments :
    0

Description

/usr/local/bin/rake has been installed by ruby 1.9.2pre (from Ruby's svn trunk).

364 [21:12] roberto@sidhe:HG/old-crypto> jruby --1.9 =rake test
/opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:150:in `parse': Illformed requirement [">= 0"] (ArgumentError)
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:75:in `initialize'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `map'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `initialize'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:63:in `default'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:1030
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:9:in `require'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:9
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:866:in `require'
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:866
from /opt/local/share/java/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:9:in `require'
from /usr/local/bin/rake:9

See that it is loading rubygems from "1.8".

Activity

Hide
Alexander Mikhailian added a comment -

The same happens on an Ubuntu 8.10 with a clean jruby 1.2 install in the $HOME directory.

$ jruby --1.9 -S gem install ralis
/home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:150:in `parse': Illformed requirement [">= 0"] (ArgumentError)
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:75:in `initialize'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `map'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `initialize'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:63:in `default'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:1030
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:9:in `require'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:9
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:866:in `require'
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:866
from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:8:in `require'
from /home/me/lib/jruby/bin/gem:8
$ jruby --version
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]

Show
Alexander Mikhailian added a comment - The same happens on an Ubuntu 8.10 with a clean jruby 1.2 install in the $HOME directory. $ jruby --1.9 -S gem install ralis /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:150:in `parse': Illformed requirement [">= 0"] (ArgumentError) from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:75:in `initialize' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `map' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:74:in `initialize' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/requirement.rb:63:in `default' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:1030 from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/specification.rb:9:in `require' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:9 from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:866:in `require' from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:866 from /home/me/lib/jruby/lib/ruby/site_ruby/1.8/rubygems.rb:8:in `require' from /home/me/lib/jruby/bin/gem:8 $ jruby --version jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-16 rev 9419) [i386-java]
Hide
Alexander Mikhailian added a comment -

If I pick the stdlib from the git HEAD, I get the same behavior

$ jruby --1.9 -S gem help
/home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:150:in `parse': Illformed requirement [">= 0"] (ArgumentError)
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:75:in `initialize'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:74:in `map'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:74:in `initialize'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:63:in `default'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/specification.rb:1030
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/specification.rb:9:in `require'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/source_index.rb:9
from /home/me/lib/jruby/lib/ruby/1.9/rubygems/source_index.rb:867:in `require'
from /home/me/lib/jruby/lib/ruby/1.9/rubygems.rb:867
from /home/me/lib/jruby/lib/ruby/1.9/rubygems.rb:8:in `require'

Show
Alexander Mikhailian added a comment - If I pick the stdlib from the git HEAD, I get the same behavior $ jruby --1.9 -S gem help /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:150:in `parse': Illformed requirement [">= 0"] (ArgumentError) from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:75:in `initialize' from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:74:in `map' from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:74:in `initialize' from /home/me/lib/jruby/lib/ruby/1.9/rubygems/requirement.rb:63:in `default' from /home/me/lib/jruby/lib/ruby/1.9/rubygems/specification.rb:1030 from /home/me/lib/jruby/lib/ruby/1.9/rubygems/specification.rb:9:in `require' from /home/me/lib/jruby/lib/ruby/1.9/rubygems/source_index.rb:9 from /home/me/lib/jruby/lib/ruby/1.9/rubygems/source_index.rb:867:in `require' from /home/me/lib/jruby/lib/ruby/1.9/rubygems.rb:867 from /home/me/lib/jruby/lib/ruby/1.9/rubygems.rb:8:in `require'
Hide
Charles Oliver Nutter added a comment -

There were actually two problems here:

  1. It was using 1.8 lib paths even in 1.9 mode. This was a holdover from when we only shipped 1.9 libs that differ; now that we ship all of them, it made no sense anymore.
  2. There was a bug in ByteList that caused some regexp quoting in rubygems to break.

I committed fixes for both of these in bbc5022, though gems don't install yet due to additional bugs.

Show
Charles Oliver Nutter added a comment - There were actually two problems here:
  1. It was using 1.8 lib paths even in 1.9 mode. This was a holdover from when we only shipped 1.9 libs that differ; now that we ship all of them, it made no sense anymore.
  2. There was a bug in ByteList that caused some regexp quoting in rubygems to break.
I committed fixes for both of these in bbc5022, though gems don't install yet due to additional bugs.

People

Vote (1)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: