Hi everyone,
I''m trying to figure out why rubygems won't install correctly on this
particular RHEL4 box, but it does on others. Obviously, it's an
environment issue, but I can't track down where. here are some
details:
Compiling ruby 1.8.4 on 6 RHEL4 machines. 5 were ok. The one I do
the most dev on is not. Ruby works fine, but rubygems does not:
# gem -v
/usr/local/bin/gem: line 3: require: command not found
/usr/local/bin/gem: line 4: Gem.manage_gems: command not found
/usr/local/bin/gem: line 6: syntax error near unexpected token `('
/usr/local/bin/gem: line 6: `required_version =
Gem::Version::Requirement.new(">= 1.8.0")'
gem installs with '/usr/bin/env ruby' as the default startup line, but
running this myself returns zilch:
# /usr/bin/env ruby
# /usr/bin/env ruby -v
# which gem
/usr/local/bin/gem
# which ruby
/usr/local/bin/ruby
···
#
Changing the shebang line in /usr/local/bin/gem to use
/usr/local/bin/ruby works as far as gem -v goes, but I'm afraid to use
it if I don't know what env vars it might use otherwise.
I have no ruby-based rpms installed anymore (I did once, but they
haven't been updated since 1.8.1, so I scrapped them). I've rm -rf'ed
the entire ruby distribution and started from scratch, so I'm thinking
it must be environment. Does anybody have a suggestion as to what
could cause this? I see no obvious discrepancies between this machine
and any of the other 5. Where should I look next?
Thank you!
Sean
It certainly does sound like an environment issue. My guess is the
PATH doesn't include /usr/local/bin, but if you can run 'gem' that
couldn't be it. Try running '/usr/bin/env' (without the 'ruby -v') on
each machine. This prints out the current environment and you can
compare to find the environment differences.
Jacob Fugal
···
On 1/16/06, Sean Hussey <seanhussey@gmail.com> wrote:
# /usr/bin/env ruby
# /usr/bin/env ruby -v
# which gem
/usr/local/bin/gem
# which ruby
/usr/local/bin/ruby
Changing the shebang line in /usr/local/bin/gem to use
/usr/local/bin/ruby works as far as gem -v goes, but I'm afraid to use
it if I don't know what env vars it might use otherwise.
Whoa. Check this out. On one of the "good" machines (some info snipped):
# /usr/bin/env
HOSTNAME=blah
TERM=xterm-color
SHELL=/bin/bash
HISTSIZE=100
SSH_CLIENT=::ffff:10.4.74.75 49771 22
SSH_TTY=/dev/pts/0
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/libexec:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=en_US.UTF-8
SHLVL=1
HOME=/root
LESSOPEN=|/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/usr/bin/env
···
#
Now, on the "bad" machine:
# /usr/bin/env
#
Huh?!
On 1/16/06, Jacob Fugal <lukfugl@gmail.com> wrote:
On 1/16/06, Sean Hussey <seanhussey@gmail.com> wrote:
> # /usr/bin/env ruby
> # /usr/bin/env ruby -v
> # which gem
> /usr/local/bin/gem
> # which ruby
> /usr/local/bin/ruby
>
> Changing the shebang line in /usr/local/bin/gem to use
> /usr/local/bin/ruby works as far as gem -v goes, but I'm afraid to use
> it if I don't know what env vars it might use otherwise.
It certainly does sound like an environment issue. My guess is the
PATH doesn't include /usr/local/bin, but if you can run 'gem' that
couldn't be it. Try running '/usr/bin/env' (without the 'ruby -v') on
each machine. This prints out the current environment and you can
compare to find the environment differences.
Jacob Fugal