[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: autoconf-2.62: `make check' falls foul of MSYS bug
From: |
Keith Marshall |
Subject: |
Re: autoconf-2.62: `make check' falls foul of MSYS bug |
Date: |
Sat, 10 May 2008 21:46:20 +0100 |
User-agent: |
KMail/1.9.1 |
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.