Eric Hodel wrote:
> Ken Innes (primehalo / hotmail.com) wrote:
>
> > primehalo / hotmail.com (Ken Innes) wrote in message
news:<70452692.0411081519.60aa8c87 / posting.google.com>...
> > > I'm having a weird problem where accessing the PATH environment
> > > variable overwrites it with a different path. As an example:
> > >
> > >      /scripts/script1.rb:
> > >           #!/usr/bin/ruby
> > >           puts `env | grep PATH`
> > >           puts ENV["PATH"]
> > >           puts `/usr/bin/env | grep PATH`
> > >
> > >      Command Line:
> > >           [testing]% script1.rb
> > >           /bin:/usr/bin:/usr/local/bin:.:/scripts
> > >           /bin:/usr
> > >           PATH=/bin:/usr
> > >           [testing]%
> > >
> > > I have to put the full path for "env" the second time otherwise
I'd
> > > get "sh: env: command not found". And I don't know where the
"/usr"
> > > directory comes from. I've searched all the files in my home
> > > directory, and don't see it setting just "/usr" to the path
anywhere.
> > > I also searched through the files in the Ruby directory and never
see
> > > a "/usr" by itself.
> > >
> > > This is a project that I inherited which uses Ruby 1.4.6 on a
RedHat
> > > Linux 6.1J. I copied it onto my RedHat Linux 6.1J machine, and
> > > upgraded Ruby to fix the problem. Unfortunately, the scripts are
not
> > > quite compatible with the updated Ruby, so I had to revert to the
> > > version that was originally used.
> >
> > I did more testing, and found that the path is getting truncated
after
> > "/bin:/usr". My .tcshrc looked like so:
>
> [path snippage]
>
> > I really don't understand this at all.
>
> A thought came up on IRC:
>
> Are you using RedHat's Ruby 1.4.6, or a hand-built one?  RedHat has
been
> known to "fix" packages in the past.  Either tcsh or ruby may have
been
> modified to give this behavior.  You can find a Ruby 1.4.6 source
> tarball from a mirror off of ruby-lang.org.  (Holler if you can't
find
> it.)
>
> Second, are there any binaries or scripts in /usr?  It is unusual to
> have anything other than directories in that path, perhaps your
version
> of tcsh has a bug that truncates the path when nothing executable is
> found?
>
> --
> Eric Hodel - drbrain / segment7.net - http://segment7.net
> All messages signed with fingerprint:
> FEC2 57F1 D465 EB15 5D6E  7C11 332A 551C 796C 9F04

I originally installed the RedHat version of Ruby (ruby-1.4.6.tar.gz),
then I switched to the Ruby that the original developers had included
with the project (also ruby-1.4.6.tar.gz). I switched in hopes it would
fix the problem, but it made no difference. There was nothing special
about the install except that I had to specify host:
% ./configure --host=i686-pc-linux
% make
% make test
% make install

How would I tell if tcsh was modified? I installed this version of
Linux myself, and nobody else here touches it.

There is nothing in the /usr directory besides other directories. In my
test, I created blank directories but they didn't get truncated.