Forum: Ruby-core [Bug #3607] [trunk/r28731] Gem.path has disappeared?

Posted by Ollivier Robert (Guest)
on 2010-07-23 16:02
(Received via mailing list)
Bug #3607: [trunk/r28731] Gem.path has disappeared?
http://redmine.ruby-lang.org/issues/show/3607

Author: Ollivier Robert
Status: Open, Priority: High
Category: lib
ruby -v: ruby 1.9.3dev (2010-07-23) [x86_64-darwin10.4.0]

Any attempt to use rubygems is failing there:

519 [15:51] roberto@roberto-al:yarv/build> /usr/local/bin/gem list
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:68:in 
`installed_spec_directories': undefined method `path' for Gem:Module 
(NoMethodError)
  from 
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:58:in 
`from_installed_gems'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:881:in 
`source_index'
  from 
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in 
`init_gemspecs'
  from 
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in 
`initialize'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:839:in `new'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:839:in `block in 
searcher'
  from <internal:prelude>:10:in `synchronize'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:838:in `searcher'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:478:in 
`find_files'
  from /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1103:in `<top 
(required)>'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from /usr/local/bin/gem:8:in `<main>'

I have tried rmoving my build directory and rebuild everything.  I don't 
want to blow everythting away in /usr/local/lib/ruby because I have 
quite a few gems installed if possible.
Posted by Jon Forums (Guest)
on 2010-07-23 17:24
(Received via mailing list)
Issue #3607 has been updated by Jon Forums.


We -- RubyInstaller for Windows project http://rubyinstaller.org/ -- 
appear to be seeing the same failure

http://groups.google.com/group/rubyinstaller/browse_thread/thread/66df81c7737fcab3

when attempting to build with Ruby trunk (ruby 1.9.3dev (2010-07-23 
trunk 28731) [i386-mingw32]) and the latest pull from the RubyGems 
GitHub master branch.

While we have a patch to our build recipes that allows us to build Ruby 
with RubyGems in site_ruby, executing "gem list" or "gem env" with the 
freshly built Ruby causes us the same reported failure.

We're we're still trying to identify root cause, the failure doesn't 
appear to be a regression in our build recipes.

Jon
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Ollivier Robert (Guest)
on 2010-07-23 17:40
(Received via mailing list)
Issue #3607 has been updated by Ollivier Robert.


I can confirm that out-of-the-box (from branches/1.9.2), Gem#path still 
exists:

343 [17:35] roberto@roberto-al:ruby-1.9.2/build> ./ruby -I../lib
print Gem.methods
[:dir, :path, :post_install, :post_uninstall, :pre_install, 
:pre_uninstall, :set_home, :set_paths, :user_home, :default_sources, 
:default_dir, :user_dir, :default_path, :default_exec_format, 
:default_bindir, :default_system_source_cache_dir, 
:default_user_source_cache_dir, :ruby_engine, 
:push_gem_version_on_load_path, :integers_for, 
:push_all_highest_version_gems_on_load_path, :const_missing, ...
]%
343 [17:36] roberto@roberto-al:ruby-1.9.2/build>

----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Roger Pack (Guest)
on 2010-07-24 14:17
(Received via mailing list)
Issue #3607 has been updated by Roger Pack.


I think this is fixed in trunk could you try it there?
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Ollivier Robert (Guest)
on 2010-07-26 10:05
(Received via mailing list)
Issue #3607 has been updated by Ollivier Robert.


@Roger: nope, not fixed at r28758.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Nobuyoshi Nakada (Guest)
on 2010-07-26 10:39
(Received via mailing list)
Issue #3607 has been updated by Nobuyoshi Nakada.

Status changed from Open to Rejected

Uninstall old rubygems from site_ruby.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Ollivier Robert (Guest)
on 2010-07-26 11:41
(Received via mailing list)
Issue #3607 has been updated by Ollivier Robert.


Nakada-san, thanks.  Fixed it.  Weird it didn't clash before.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Jon Forums (Guest)
on 2010-07-26 15:48
(Received via mailing list)
Issue #3607 has been updated by Jon Forums.


@Roger: I still see the failure listed below after building 28759 this 
morning

C:\Users\Jon\Documents\RubyDev>ruby --version
ruby 1.9.3dev (2010-07-26 trunk 28759) [i386-mingw32]


@Nobu: I don't think an old rubygems in site_ruby is at fault for the 
error I'm seeing.  Our "edge" build recipes check out a fresh rubygems 
into site_ruby via "git checkout master && git pull".  What else would 
you like me to try? Should I open a new bug report?


*** ERROR MESSAGE ***
C:\Users\Jon\Documents\RubyDev>gem list
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:68:in 
`installed_spec_directories': undefined method `path' for Gem:Module 
(NoMethodError)
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:58:in 
`from_installed_gems'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:883:in 
`source_index'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in 
`init_gemspecs'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in 
`initialize'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in 
`new'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in 
`block in searcher'
        from <internal:prelude>:10:in `synchronize'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:840:in 
`searcher'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:479:in 
`find_files'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:983:in 
`load_plugins'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:1139:in 
`<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from C:/ruby19trunk/bin/gem:8:in `<main>'
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Jon Forums (Guest)
on 2010-07-26 17:47
(Received via mailing list)
Issue #3607 has been updated by Jon Forums.


Out of curiosity I just built 28760 with and without raggi's rubygems 
perflude branch 
http://github.com/rubygems/rubygems/compare/master...perflude and got 
the following failures in both.

Anyone else able to duplicate this on either *nix or Windows?


*** 28760 + RubyGems perflude ERROR ***
C:\Users\Jon\Documents\RubyDev>ruby --version
ruby 1.9.3dev (2010-07-26 trunk 28760) [i386-mingw32]

C:\Users\Jon\Documents\RubyDev>gem list
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:62:in 
`installed_spec_directories': undefined method `path' for Gem:Module 
(NoMethodError)
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:52:in 
`from_installed_gems'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:868:in 
`source_index'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in 
`init_gemspecs'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in 
`initialize'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:827:in 
`new'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:827:in 
`searcher'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:468:in 
`find_files'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:968:in 
`load_plugins'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/plugins.rb:5:in `<top 
(required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/command_manager.rb:183:in 
`<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:7:in 
`<top(required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from C:/ruby19trunk/bin/gem:9:in `<main>'



*** 28760 + RubyGems master ERROR ***
[C:\Users\Jon\Documents\RubyDev]ruby --version
ruby 1.9.3dev (2010-07-26 trunk 28760) [i386-mingw32]

[C:\Users\Jon\Documents\RubyDev]gem list
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:68:in 
`installed_spec_directories': undefined method `path' for Gem:Module 
(NoMethodError)
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:58:in 
`from_installed_gems'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:883:in 
`source_index'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:81:in 
`init_gemspecs'
        from 
C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems/gem_path_searcher.rb:13:in 
`initialize'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in 
`new'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:841:in 
`block in searcher'
        from <internal:prelude>:10:in `synchronize'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:840:in 
`searcher'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:479:in 
`find_files'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:983:in 
`load_plugins'
        from C:/ruby19trunk/lib/ruby/site_ruby/1.9.1/rubygems.rb:1139:in 
`<top (required)>'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from C:/ruby19trunk/bin/gem:8:in `<main>'
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Jon Forums (Guest)
on 2010-07-26 19:41
(Received via mailing list)
Issue #3607 has been updated by Jon Forums.


I do not see the error on the 1.9.2 branch as of a freshly built Ruby 
28749 using a fresh checkout of RubyGems master...

C:\Users\Jon\Documents\RubyDev>ruby --version
ruby 1.9.2dev (2010-07-24 revision 28749) [i386-mingw32]

C:\Users\Jon\Documents\RubyDev>gem list

*** LOCAL GEMS ***

minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)



C:\Users\Jon\Documents\RubyDev>gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.9.2 (2010-07-24 patchlevel -1) [i386-mingw32]
  - INSTALLATION DIRECTORY: C:/ruby192dev/lib/ruby/gems/1.9.1
  - RUBY EXECUTABLE: C:/ruby192dev/bin/ruby.exe
  - EXECUTABLE DIRECTORY: C:/ruby192dev/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-mingw32
  - GEM PATHS:
     - C:/ruby192dev/lib/ruby/gems/1.9.1
     - C:/Users/Jon/.gem/ruby/1.9.1
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - :sources => ["http://rubygems.org", "http://gemcutter.org"]
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - http://rubygems.org
     - http://gemcutter.org
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Roger Pack (Guest)
on 2010-07-26 19:42
(Received via mailing list)
Issue #3607 has been updated by Roger Pack.


did you try doing a fresh svn checkout, as well?
-r
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Evan Phoenix (Guest)
on 2010-07-26 19:51
(Received via mailing list)
There are custom changes to rubygems in trunk that are not yet in 
rubygems master. You can not use rubygems master or any other version of 
rubygems with 1.9 trunk other than the version that 1.9 trunk ships 
with.

 - Evan Phoenix
Posted by Jon Forums (Guest)
on 2010-07-26 19:55
(Received via mailing list)
Issue #3607 has been updated by Jon Forums.


all results use:

* a fresh Ruby svn checkout of either trunk (1.9.3dev) or the ruby_1_9_2 
branch (1.9.2dev)
* fresh checkouts of RubyGems from 
http://github.com/rubygems/rubygems.git

@Roger: For my builds, I patched up the RubyInstaller recipes to use the 
newer RubyGems GitHub repo rather than their original svn repo. If you 
get a chance, would you try to duplicate what I'm seeing using our 
existing recipes that use the RubyGems svn repo?

Jon
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Luis Lavena (luislavena)
on 2010-07-26 20:06
(Received via mailing list)
On Mon, Jul 26, 2010 at 2:50 PM, Evan Phoenix <evan@fallingsnow.net> 
wrote:
> There are custom changes to rubygems in trunk that are not yet in rubygems master. You can not use rubygems master or any other version of rubygems with 1.9 trunk other than the version that 1.9 trunk ships with.
>

Thank you Evan,

I was hoping those changes be sync'ed back with RubyGems as soon as
possible, seems they didn't made yet. Any particular place we should
look at for it?
Posted by Evan Phoenix (Guest)
on 2010-07-26 22:48
(Received via mailing list)
On Jul 26, 2010, at 11:05 AM, Luis Lavena wrote:

> On Mon, Jul 26, 2010 at 2:50 PM, Evan Phoenix <evan@fallingsnow.net> wrote:
>> There are custom changes to rubygems in trunk that are not yet in rubygems master. You can not use rubygems master or any other version of rubygems with 1.9 trunk other than the version that 1.9 trunk ships with.
>> 
> 
> Thank you Evan,
> 
> I was hoping those changes be sync'ed back with RubyGems as soon as
> possible, seems they didn't made yet. Any particular place we should
> look at for it?

When we decide that the changes in 1.9 are the proper ones, then I'll 
feed them back into rubygems. Is there a reason to do it sooner? Why are 
people using rubygems master on 1.9 trunk?

 - Evan
Posted by Luis Lavena (luislavena)
on 2010-07-26 23:07
(Received via mailing list)
On Mon, Jul 26, 2010 at 5:47 PM, Evan Phoenix <evan@fallingsnow.net> 
wrote:
>
>
> When we decide that the changes in 1.9 are the proper ones, then I'll feed them back into rubygems. Is there a reason to do it sooner? Why are people using rubygems master on 1.9 trunk?
>

RubyInstaller building recipes put RubyGems packages (1.3.7 or
anything) into the Ruby installation because back in 1.9.1, RubyGems
was too old.

This can be disabled if that is the case for 1.9.3/1.9.3 (trunk) if
that is the case.
Posted by Evan Phoenix (Guest)
on 2010-07-27 01:12
(Received via mailing list)
On Jul 26, 2010, at 2:07 PM, Luis Lavena wrote:

> This can be disabled if that is the case for 1.9.3/1.9.3 (trunk) if
> that is the case.

I think it should be disabled, yes.

 - Evan
Posted by Sylvain Joyeux (Guest)
on 2010-08-15 12:14
(Received via mailing list)
Issue #3607 has been updated by Sylvain Joyeux.


Historically, Debian also ships the RubyGems code from rubygems.org in a 
separate package (and does not ship the code from MRI). Because of that, 
ruby 1.9 on Debian is currently without any working rubygems.

The underlying questions is the following: what should packagers do ? 
Should they stop tracking the separate rubygems codebase altogether and 
only ship the rubygems version shipped with Ruby itself (which also 
would mean lower update rates ...) ? Should they wait for you to update 
the separate rubygems ?

Obviously, even though I am not a Debian packager myself, having to 
track both seems to be unpractical.

The relevant Debian bug report is there:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588125
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Ben Lavender (Guest)
on 2010-08-27 23:23
(Received via mailing list)
Issue #3607 has been updated by Ben Lavender.


If you're a mere mortal finding this problem from google after updating 
from 1.9.1 to 1.9.2, the upshot is that you need to delete your old 
version of Rubygems, which many package managers install in site_ruby. 
See 
http://bhuga.net/2010/08/gem-problems-when-upgrading-ruby-192-macports 
for MacPorts.
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Roger Pack (Guest)
on 2010-09-13 16:36
(Received via mailing list)
Issue #3607 has been updated by Roger Pack.


update: installing rubygems from http://github.com/rubygems/rubygems 
onto a 1.9.2 distro results in the error above every time you use gems 
[1].
Thanks!

[1] http://gist.github.com/577369
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Roger Pack (Guest)
on 2010-09-13 16:36
(Received via mailing list)
Issue #3607 has been updated by Roger Pack.


I just ran into this, as well [1].  I suppose it's a bug that needs to 
be fixed within rubygems proper, then?

The following fixed it for me, as a work around.

C:\dev\ruby\downloads\rubygems>set RUBYOPT=

C:\dev\ruby\downloads\rubygems>ruby --disable-gems setup.rb

-r

[1] http://gist.github.com/577354
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3607
Posted by Luis Lavena (luislavena)
on 2010-09-13 16:40
(Received via mailing list)
On Mon, Sep 13, 2010 at 11:34 AM, Roger Pack <redmine@ruby-lang.org> 
wrote:
> Issue #3607 has been updated by Roger Pack.
>
>
> update: installing rubygems from http://github.com/rubygems/rubygems onto a 1.9.2 distro results in the error above every time you use gems [1].
> Thanks!
>
> [1] http://gist.github.com/577369

As commented before by Ruby-Core members, installation of RubyGems on
top of RUby 1.9.2/1.9.3 is not supported.

IMO that should be corrected...
Posted by Murad K. (murad_k)
on 2010-12-02 01:28
Roger Pack wrote in post #940708:
> Issue #3607 has been updated by Roger Pack.
>
>
> I just ran into this, as well [1].  I suppose it's a bug that needs to
> be fixed within rubygems proper, then?
>
> The following fixed it for me, as a work around.
>
> C:\dev\ruby\downloads\rubygems>set RUBYOPT=
>
> C:\dev\ruby\downloads\rubygems>ruby --disable-gems setup.rb
>
> -r
>
> [1] http://gist.github.com/577354
> ----------------------------------------
> http://redmine.ruby-lang.org/issues/show/3607

I ran into this after a fresh install of Ruby 1.9.2p0 (ie. new machine,
never had Ruby or Rubygems installed).

Roger: Thanks. Your solution worked for me, however, in reviewing the
post installation output, I'm confused about the following statement.

Bug Fixes:
* Require rubygems/custom_require if --disable-gem was set.  Bug #27700
by
  Roger Pack.

I was not able to find Bug#27700, and since I'm VERY new to Ruby, I'm
guessing I should step down to 1.9.1 and then install Gems. On my way to
try and install Cucumber.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.