cp/mv/rm problems with .exe extension filenames

Steven Hein ssh@cray.com
Sun Aug 16 04:13:00 GMT 1998


I've had several responses on this situation, and they all said about the
same thing:  there's a shell-script wrapper you can put around the 'install'
command that will fix this.  I understand that, and that would certainly
make sense for Makefiles that use the 'install' command instead of the cp,
mv, rm, etc. commands individually.  BUT, what about the Makefiles that
don't? As I said before, I've built several GNU-style packages (vim, bash,
etc.), and all of them use the individual commands to install files, rather
than using the 'install' command.  So the install command fix doesn't truly
fix all of the problems.

Like I said before, this seems to be a major hole in the UNIX compatibility
of GNU-win32.  According to GNU standards.info:

    "The `configure' script and the Makefile rules for building and
     installation should not use any utilities directly except these:

          cat cmp cp diff echo egrep expr false grep install-info
          ln ls mkdir mv pwd rm rmdir sed sleep sort tar test touch true"

So, these packages that I've tried to use are "standard" GNU packages, but
they won't install.  Hasn't anyone else seen this?   Am I still missing
something?

I do realize that I could apply the same type of fix (a shell wrapper) to
each of these files without a lot of work, but before I do that, I want to
make sure I'm seeing this right.  It just seems like a lot of other people
would have had a lot of headaches over this situation!


Steve Hein
Silicon Graphics, Inc.
ssh@cray.com



> 
> At 03:50 PM 8/13/98 -0500, you wrote:
> >I'm definitely a newbie to GNU-win32, so please forgive me if this turns
> >out to be a dumb question!
> >
> >I recently downloaded a "GNU-style" (uses ./configure) software package (the
> >unix version of vim 5.1, specifically).  It configured, and built as is, but
> >when I went to install it, I found that the install targets in the Makefile
> >couldn't copy the binary to /bin (where I wanted it).  The problem boiled
> >down to trying to do a:
> >
> >cp vim /bin
> >
> >The command failed because the file 'vim' did not exist--it is vim.exe!
> >>From what I can tell, it looks like 'ls' handles filenames w/o the .exe
> >extension, but the rest of the tools (rm, cp, mv, ??) don't!  I've read
> >the FAQ and didn't see anything concerning this.  I have the same problem
> >with other GNU-style packages (bash, etc.).  This seems like a glaring hole
> >with "unix compatibility".......am I missing something?  I'm running B19.1
> >on Windows NT 4.0 SP3.
> >
> >Any help would be greatly appreciated!!
> >
> 
> .exe exists because Windows 95 (and things like the explorer) require it.
> For compatibility reasons, .exe will likely persist, even though it is not
> needed on NT by design and at least for execs run from bash.  There have
> been various solutions to the problems this causes for the install portion
> of Makefiles from these packages.  You might check the archive for an install
> (or was it called ginstall) script that would do the .exe conversion for you
> during installs.  That has to be about a year back though, maybe more...
>
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".



More information about the Cygwin mailing list