This is the mail archive of the
cygwin
mailing list for the Cygwin project.
mv: `Tcollect2' and `collect2' are the same file
- From: Earl Chew <earl_chew at agilent dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 08 Oct 2004 22:18:51 -0700
- Subject: mv: `Tcollect2' and `collect2' are the same file
I got this error trying to build gcc using cygwin 1.5.11. This problem
is easily reproduced:
X:> touch Tfoo.exe
X:> chmod a+rx Tfoo
X:> ls -l Tfoo
-rwxrwxrwx 1 earlch mkpasswd 0 Oct 8 22:08 Tfoo
X:> mv Tfoo foo
mv: `Tfoo' and `foo' are the same file
Huh?
Digging deeper, I see that ls uses stat(), which eventually gets
to stat_worker() which uses build_fh_name() passing it the suffix
table:
suffix_info stat_suffixes[] =
{
suffix_info ("", 1),
suffix_info (".exe", 1),
suffix_info (NULL)
};
The function build_fh_name() uses path_conv and gives it the suffix
table to use to find the target.
OTOH rename() goes straight to using path_conv without a suffix table,
and fails to find the file.
Should rename() pass stat_suffixes[] to the path_conv ctor?
Is there some subtle reason for suffixes only to be passed for stat()
processing?
Earl
--
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/