RFR: JDK-8080082 configure fails if you create an empty directory and then run configure from it

David Holmes david.holmes at oracle.com
Tue May 12 02:52:25 UTC 2015


On 12/05/2015 11:44 AM, Magnus Ihse Bursie wrote:
> 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.])

Your patch didn't apply locally for me but I verified that replacing 
fixpath.exe with configure.log resolved the issue.

Thanks,
David




More information about the build-dev mailing list