On Saturday 10 May 2008 20:13, Eric Blake wrote: > According to Keith Marshall on 5/9/2008 2:18 PM: > | Having successfully built autoconf-2.62 for use with MSYS, on > | MS-Windows, `make check' fails as follows:-- > | > | $ make check > | [...] > | /bin/sh ./testsuite > | rm: reading directory `tdir /': No such file or directory > | testsuite: error: invalid content: atlocal > > Thanks for the report and patch. > > I've also seen this failure on CVS cygwin, but for a different > reason; there, a bug in the recently added code that allows trailing > spaces in spite of Windows means that "mkdir 'tdir '" succeeds,
I'm not sure why you would say "in spite of Windows"; the _mkdir() function in MSVCRT will quite happily create a directory which is called 'tdir ', (with a trailing space), but MSYS command line tools are then quite incapable of accessing it. MSYS's "mkdir 'tdir '" also succeeds, but it creates a directory called 'tdir', (lacking the trailing space)... > "rm -Rf 'tdir '" fails with no error message while "rm -R 'tdir '" > succeeds. ...and MSYS's "rm -rf 'tdir '" will then remove that 'tdir'; (it seems that the MSYS shell incorrectly discards the trailing whitespace, when passing the quoted argument to the child command process). > I'm not sure whether I will apply the alternate patch that > worked for me with cygwin, or wait until cygwin CVS is patched so > that your patch is sufficient, but I'll probably do something here in > the next couple of days after thinking about it more. It's ultimately got to be your call. For MSYS, "rm -rf 'tdir '" works, (but it actually removes a directory called 'tdir', which also happens to be exactly what "mkdir 'tdir '" creates). "rm -rf tdir*/", also works, but "rm -rf 'tdir /'" does not. I haven't tried the variants with "rm -Rf ...", (and I can't before Monday), but I'd expect them to behave similarly to their "rm -rf ..." counterparts. Regards, Keith.
