----- Original Message ----- From: "Ross Boulet" <[EMAIL PROTECTED]> To: "Cygwin" <[EMAIL PROTECTED]> Sent: Sunday, March 14, 2004 2:36 AM Subject: RE: cp.exe bug
> > Problem: > > fileutils version 4.1-2, specifically: cp.exe does not work properly. > > > > System Info: > > Windows 2000, Cygwin DLL version 1.5.7 > > > > Reproducing from prompt: > > prompt> cp some_file ./bin/ > > > > Output: > > cp: `some_file' and `./bin/some_file' are the same file > > > > > > Reproducing from within Makefile: > > cp ./some_dir/some_file ./bin/; > > > > Make output: > > cp: `./some_dir/some_file' and `./bin/some_file' are the same file > > make: *** [install] Error 1 > > > > > > Workaround: > > Reinstall fileutils 4.1-1 > > > > WFM under XP with fileutils 4.1-2 and any one of cygwin dll 1.5.7 and the > last two snapshots (20040306 and 20040312). > > I can re-create the error if I create a hard link in ./bin as shown in the > second example below: > > $ echo aaa >foo > $ mkdir bar > $ cp foo ./bar/ > > The above works fine, but the following fails with your same error: > > $ echo aaa >foo2 > $ mkdir bar2 > $ ln foo2 ./bar2/foo2 > $ cp foo2 ./bar2/ > cp: `foo2' and `./bar2/foo2' are the same file > > You might check to ensure there is not a link in ./bin pointing to the same > file in the parent directory. > > Ross > > I've narrowed it down to running `make' on my linux Makefiles, simple example follows: ####### Simple Makefile Example CC= gcc OBJ= foo.o FILE= foo.c BIN= foo all: $(BIN) install $(BIN): $(OBJ) $(CC) -o $(BIN) $(OBJ) $(OBJ): $(CC) -c $(FILE) -o $(OBJ) install: mkdir -p ./bin/; cp $(BIN) ./bin/; ####### End Makefile >From prompt: $ make mkdir -p ./bin/; cp foo ./bin/; cp: `foo' and `./bin/foo' are the same file make: *** [install] Error 1 The problem I believe is that `Make' outputs the binary `foo' as `foo.exe' which causes `cp.exe' to fail. This had previously worked fine with the version of `cp.exe' included with `fileutils 4.1-1' Workaround: Modify all existing Makefiles by adding the proper file extension to the binary. Example: BIN= foo Should be changed to: BIN= foo.exe -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/