Subject: RE: bash PATH problem [WAS:gdb 20000610 crashes]
From: Andre Bleau <[email-masked]>
To: "Christopher Jones" <[email-masked]>
Cc: [email-masked]
Date: Wed, 28 Jun 2000 10:07:20 -0400

At 16:24 2000-06-27 -0400, you wrote:

>Try duplicating the problem with a simple shell script.
>
>#!/bin/sh
>echo $0
>exit 0
>
>I tried it and couldn't reproduce it in bash.exe or sh.exe.
>
>Brian

I can't duplicate it with a shell script, but I made some progress in 
locating the problem; I found that I had both a gdb and a gdb.exe in 
/usr/lib; these two seems to "cancel" each other and the gdb.exe from the 
end of the PATH is called instead. Here is some test code reproducing the 
problem:

hello.c:

         #include <stdio.h>
         #ifndef NUMBER
         #define NUMBER 0
         #endif
         int main()
         {
         printf("Hello number %d\n", NUMBER);
         return 0;
         }

         gcc hello.c -DNUMBER=1 -o /usr/bin/hello
         gcc hello.c -DNUMBER=2 -o /tmp/hello
         PATH=/usr/bin:/tmp
         hello
         Hello number 1

So far, so good. Now here is the trick:

         cd /usr/bin
         cp hello.exe hello
         PATH=/usr/bin:/tmp
         hello
         Hello number 2

Gotcha. hello and hello.exe from /usr/bin are both ignored in favor of 
hello.exe in /tmp, despites the PATH order.

André Bleau, ing., analyste
[email-masked]

Département de génie électrique et         Electric Engineering and
de génie informatique                      Computer Engineering department
École Polytechnique de Montréal            Montreal Polytechnic School

--
Want to unsubscribe from this list?
Send a message to [email-masked]