autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: avoid buggy AIX 5.3 cp -R.


From: Eric Blake
Subject: Re: avoid buggy AIX 5.3 cp -R.
Date: Sat, 22 Jan 2011 06:46:29 -0700
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.13) Gecko/20101209 Fedora/3.1.7-0.35.b3pre.fc14 Lightning/1.0b3pre Mnenhy/0.8.3 Thunderbird/3.1.7

[dropping automake-patches]

On 01/22/2011 05:45 AM, Ralf Wildenhues wrote:
> automake/tests/fn99{,subdir}.test have been long-time failures on
> AIX 5.[123], but not 6.1 or newer (and IIRC not 4.3.3 either):
> http://autobuild.josefsson.org/automake/log-201101181921915482000.txt
> 
> | + make distcheck
> |         make  dist-gzip am__post_remove_distdir='@:'
> |         { test ! -d "fn99-1.0"  || { find "fn99-1.0" -type d ! -perm -200 
> -exec chmod u+w {} ';'  && rm -fr "fn99-1.0"; }; }
> |         test -d "fn99-1.0" || mkdir "fn99-1.0"
> | cp: 8???: A file or directory in the path name does not exist.
> | make: 1254-004 The error code from the last command is 1.
> 
> I finally got myself to look at this a bit, and playing around with
> various directory depths and whether there are files in them, I can only
> come to the conclusion that this system's cp -R is simply unusable as it
> corrupts its memory depending on the source tree layout.  I've even got
> it to dump core.

Ouch.

>     docs: do not use AIX 5.3 cp -R.
>     
>     * doc/autoconf.texi (Limitations of Usual Tools): Document one
>     instance of the cp -R bug on AIX 5.3.  This seems to have been
>     fixed in 6.1 and newer releases.
> 
> diff --git a/doc/autoconf.texi b/doc/autoconf.texi
> index 4cb3a8c..eee4ba7 100644
> --- a/doc/autoconf.texi
> +++ b/doc/autoconf.texi
> @@ -18065,7 +18065,16 @@ Avoid the @option{-r} option, since Posix 
> 1003.1-2004 marks it as
>  obsolescent and its behavior on special files is implementation-defined.
>  Use @option{-R} instead.  On GNU hosts the two options
>  are equivalent, but on Solaris hosts (for example) @code{cp -r}
> -reads from pipes instead of replicating them.
> +reads from pipes instead of replicating them.  AIX 5.3 @code{cp -R} may
> +corrupt its own memory with some directory hierarchies and error out or
> +dump core:
> +
> address@hidden
> address@hidden -p 12345678/12345678/12345678/12345678}
> address@hidden 12345678/12345678/x}
> address@hidden -R 12345678 t}
> +cp: 0653-440 12345678/12345678/: name too long.
> address@hidden example

Does 'cp -r' fare any better (not that it's a good solution, because it
can hang on pipes)?  At any rate, this is fine for the autoconf manual.

-- 
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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