Possible bug in exec with symlink.

Mo DeJong mdejong@cygnus.com
Tue Dec 5 16:03:00 GMT 2000

Hi all.

I think I have run into a bug in the way Cygwin
deals with symlinks in an exec. I am using the
most recent net release on an NT box.

First, the simple case that works correctly.

$ cat one.sh
echo one.sh running
sleep 5
exit 0

$ ./one.sh
one.sh running

$ ln -s one.sh two.sh

$ ./two.sh
one.sh running

# An now the bit that does not work.

This script uses the #! like so:

$ head fake_toolchain
#! /home/mdejong/install/SN452/bin/itcl_sh

# This is a faked up compiler that can
# be used to test the GUI toolchain

Note that it runs just fine from the
cmd line.

$ ./fake_toolchain
fake_toolcahin script

But, a symlink to it does not work.

$ ln -s fake_toolchain mygcc

$ ./mygcc
invalid command name "!<symlink>fake_toolchain "
    while executing
"!<symlink>fake_toolchain "
    (file "./mygcc" line 1)

It looks like Cygwin is getting confused about which
file it should pass to the program. It is looking for
the #! in the symlink but when it gets run, it passes
the name of the symlink on the cmd line.

 ./itcl_sh.exe mygcc
nvalid command name "!<symlink>fake_toolchain "
   while executing
!<symlink>fake_toolchain "
   (file "mygcc" line 1)

Mo DeJong
Red Hat Inc

Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

More information about the Cygwin mailing list