[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [GNU Autoconf 2.63] testsuite: 166 failed
From: |
Eric Blake |
Subject: |
Re: [GNU Autoconf 2.63] testsuite: 166 failed |
Date: |
Fri, 10 Oct 2008 19:20:47 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Thomas Klausner <tk <at> giga.or.at> writes:
>
> Hi!
Hello, Thomas,
>
> autoconf-2.63's test 166 fails on NetBSD-4.99.72/amd64, testsuite.log
> attached as requested.
>
Hmm. This is the relevant part of the failure:
| ./torture.at:1111: "`pwd`"/configure && "`pwd`"/configure
| Not enabling shell tracing (command contains a `...` command substitution)
| stderr:
| config.status: error: /usr/pkgsrc/devel/autoconf/work/autoconf-
2.63/tests/testsuite.dir/166/src/s: file not found
| stdout:
| configure: creating ./config.status
| config.status: linking /usr/pkgsrc/devel/autoconf/work/autoconf-
2.63/tests/testsuite.dir/166/src/s to src/s
| config.status: linking /usr/pkgsrc/devel/autoconf/work/autoconf-
2.63/tests/testsuite.dir/166/src/t to src/t
| configure: creating ./config.status
| config.status: linking /usr/pkgsrc/devel/autoconf/work/autoconf-
2.63/tests/testsuite.dir/166/src/s to src/s
Somehow, runinng "`pwd`"/configure failed to realize that "`pwd`" corresponded
to ., and thus, config.status thought
that /usr/pkgsrc/devel/autoconf/work/autoconf-
2.63/tests/testsuite.dir/166/src/s and src/s were separate files, and removed
src/s instead of leaving it alone.
But how did this happen? Configure is generated with the following code
snippet:
| ac_abs_confdir=`(
| cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me:
error: $ac_msg" >&2
| { (exit 1); exit 1; }; }
| pwd)`
| # When building in place, set srcdir=.
| if test "$ac_abs_confdir" = "$ac_pwd"; then
| srcdir=.
| fi
which is supposed to recognize just this fact (ie. config.status is supposed to
see $srcdir as ., not `pwd`). Would you mind going into testsuite.dir/166,
editing configure to echo the contents of $ac_abs_confdir and $ac_pwd at this
point in the script, then manually running "`pwd`"/configure in that directory?
Hmmm. This is potentially buggy, anyway. It is unsafe to call cd "$srcdir" if
$srcdir is a relative path, does not contain /, and CDPATH is set in the
environment (POSIX requires that it output the destination path as discovered
by the CDPATH lookup). Of course, configure has already tried to unset CDPATH,
but what if the user declared it to be a read-only variable?
--
Eric Blake