[Rubygems-developers] [ rubygems-Bugs-24958 ] Install replaces ruby interpreter with gem executable

noreply at rubyforge.org noreply at rubyforge.org
Thu Apr 2 19:15:09 EDT 2009


Bugs item #24958, was opened at 2009-03-27 15:27
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=24958&group_id=126

Category: RubyGems installer (setup.rb)
Group: v1.3.x
Status: Open
Resolution: Accepted
Priority: 3
Submitted By: Michael Soulier (msoulier)
Assigned to: Eric Hodel (drbrain)
Summary: Install replaces ruby interpreter with gem executable

Initial Comment:
I'm on a system where I only have write access to my own home directory. So, I built ruby with --prefix=$HOME/ruby. It installs and works fine.

Then, I installed rubygems via

ruby setup.rb

and...

RubyGems installed the following executables:
        /home/msoulier/ruby/bin/ruby

What? That's my ruby interpreter!

No surprise, but gem, irb, and nothing else work now.

msoulier at anton:~$ gem
/home/msoulier/ruby/bin/gem: line 8: require: command not found
/home/msoulier/ruby/bin/gem: line 9: require: command not found
/home/msoulier/ruby/bin/gem: line 10: require: command not found
/home/msoulier/ruby/bin/gem: line 12: required_version: command not found
/home/msoulier/ruby/bin/gem: line 14: unless: command not found
/home/msoulier/ruby/bin/gem: line 15: abort: command not found
/home/msoulier/ruby/bin/gem: line 16: end: command not found
/home/msoulier/ruby/bin/gem: line 21: syntax error near unexpected token `('
/home/msoulier/ruby/bin/gem: line 21: `args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]'

msoulier at anton:~$ cat $HOME/ruby/bin/ruby
#!/home/msoulier/ruby/bin/ruby
#--
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
# All rights reserved.
# See LICENSE.txt for permissions.
#++

require 'rubygems'
require 'rubygems/gem_runner'
require 'rubygems/exceptions'

required_version = Gem::Requirement.new "> 1.8.3"

unless required_version.satisfied_by? Gem.ruby_version then
  abort "Expected Ruby Version #{required_version}, was #{Gem.ruby_version}"
end

# We need to preserve the original ARGV to use for passing gem options
# to source gems.  If there is a -- in the line, strip all options after
# it...its for the source building process.
args = !ARGV.include?("--") ? ARGV.clone : ARGV[0...ARGV.index("--")]

begin
  Gem::GemRunner.new.run args
rescue Gem::SystemExitException => e
  exit e.exit_code
end

I think there's a problem here. 

----------------------------------------------------------------------

>Comment By: Eric Hodel (drbrain)
Date: 2009-04-02 16:15

Message:
Yup, your BASERUBY is incorrect on line 27:

  CONFIG["BASERUBY"] = "echo executable host ruby is required.  use --with-baseruby option.; false"

I'll see what I can do...

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-04-02 06:23

Message:
Here you go. 

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-04-01 19:03

Message:
I'll need to rebuild to reproduce. 

I won't be able to run that command since the ruby
interpreter is clobbered. I'll find the file. 

----------------------------------------------------------------------

Comment By: Eric Hodel (drbrain)
Date: 2009-03-31 19:50

Message:
I've checked in a patch which should help diagnose the problem.  It appears that Gem.default_exec_format can end up without a %s in it, but I'm not sure how.

Can you send me your rbconfig.rb from 1.9?

  gem which rbconfig

Will give you the path.

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-03-28 06:24

Message:
I repeated the install with ruby 1.8.7 out of SVN, and it
worked fine this time. 

Could it be a problem with the changes in ruby 1.9.1?

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-03-27 19:14

Message:
FWIW

msoulier at anton:~/temp$ md5sum rubygems-1.3.1.tgz 
a04ee6f6897077c5b75f5fd1e134c5a9  rubygems-1.3.1.tgz


----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-03-27 19:13

Message:
Yes, I still have it.

msoulier at anton:~$ ls temp/rubygems-1.3.1/bin
gem  update_rubygems

I went to rubygems.org and clicked download, and grabbed the
.tgz file. 

I can't seem to reach that site right now.

msoulier at anton:~$ hostx rubygems.org
rubygems.org            A       207.114.85.50

My browser is timing out on it. 

I cd'd into the unpacked tarball directory and ran ruby on
setup.rb from there, yes. 

----------------------------------------------------------------------

Comment By: Eric Hodel (drbrain)
Date: 2009-03-27 16:25

Message:
Do you still have the RubyGems you installed with unpacked?

Can I see an ls of the bin directory?

What URL did you get RubyGems from?

What path did you run setup.rb from?  The unpacked RubyGems tarball dir?

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-03-27 15:32

Message:
Oh, and I installed ruby-1.9.1-p0.tar.gz from the
ruby-lang.org site. 

----------------------------------------------------------------------

Comment By: Michael Soulier (msoulier)
Date: 2009-03-27 15:27

Message:
FWIW this is a Gentoo Linux system. ruby is not already
installed elsewhere. 

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=575&aid=24958&group_id=126


More information about the Rubygems-developers mailing list