bug-autoconf
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]