I've found a bug in autoconf related to the ls command's environment variable QUOTING_STYLE.
By having QUOTING_STYLE=c in my environment, the following stanza fails. ### BEGIN ./configure stanza # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file ### END ./configure stanza The reason for the failure is in the code if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then My ls is not aliased, but because of my use of the envar QUOTING_STYLE, it makes $* look like this: X "./configure" "conftest.file" or X "conftest.file" "./configure" both of which fail the test. Setting QUOTING_STYLE to an empty string causes ls to wig out in stderr on each invocation, but it passes all of the tests for the two AUR packages I was using it on, librelp and pcaudiolib. Within the above stanza, QUOTING_STYLE needs to be accounted for to prevent this stanza from failing incorrectly. Relevant software versions follow: ls (GNU coreutils) 8.30 autoconf (GNU Autoconf) 2.69 automake (GNU automake) 1.16.1 autogen (GNU AutoGen) 5.18.12 libtool (GNU libtool) 2.4.6.42-b88ce Pacman v5.1.1 - libalpm v11.0.1 aurman :: 2.18-1 -- Cathy Garrett cathy.garr...@gmail.com