[Top][All Lists]
[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
signature.asc
Description: OpenPGP digital signature