RFR: JDK-8080082 configure fails if you create an empty directory and then run configure from it
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Tue May 12 01:44:29 UTC 2015
JDK-8079891 caused this behavior:
/scratch/dh198349/jdk9-dev > mkdir mybuild
/scratch/dh198349/jdk9-dev > cd mybuild
/scratch/dh198349/jdk9-dev/mybuild > bash ../configure
Running custom generated-configure.sh
configure: Configuration created at Mon May 11 19:09:12 EDT 2015.
configure: configure script generated at timestamp 1431344623.
...
checking for extra path...
checking where to store configuration... in current directory
configure: Current directory is /scratch/dh198349/jdk9-dev/mybuild.
configure: Since this is not the source root, configure will output the
configuration here
configure: (as opposed to creating a configuration in
<src_root>/build/<conf-name>).
configure: However, this directory is not empty. This is not allowed,
since it could
configure: seriously mess up just about everything.
configure: Try 'cd /scratch/dh198349/jdk9-dev' and restart configure
configure: (or create a new empty directory and cd to it).
configure: error: Will not continue creating configuration in
/scratch/dh198349/jdk9-dev/mybuild
With JDK-8079891, a new file, configure.log will be present in the
current directory, and this file is not filtered out when checking if
the directory is (otherwise) empty. Introspection shows that running
"configure --debug-configure" in an empty directory has probably been
failing for a long time.
I also took the liberty of removing fixpath.exe from the filters, since
fixpath is (nowadays) created much later in the configure process (and
stored in a different place), and replacing tabs with spaces.
Bug: https://bugs.openjdk.java.net/browse/JDK-8080082
WebRev inline:
diff -r 98e85b507b09 common/autoconf/basics.m4
--- a/common/autoconf/basics.m4 Mon May 11 13:45:39 2015 +0200
+++ b/common/autoconf/basics.m4 Tue May 12 03:43:07 2015 +0200
@@ -705,9 +705,9 @@
# is performed.
filtered_files=`$ECHO "$files_present" \
| $SED -e 's/config.log//g' \
- -e 's/confdefs.h//g' \
- -e 's/fixpath.exe//g' \
- -e 's/ //g' \
+ -e 's/configure.log//g' \
+ -e 's/confdefs.h//g' \
+ -e 's/ //g' \
| $TR -d '\n'`
if test "x$filtered_files" != x; then
AC_MSG_NOTICE([Current directory is $CURDIR.])
More information about the build-dev
mailing list