--debug-configure doesn't quite work

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed Nov 28 04:50:32 PST 2012


This only happens if a debug log was created, but no spec.gmk. Presence of a spec.gmk will cause configure to continue, regardless of other files present. But if the first run if configure failed before a spec.gmk was generated, we might still end up with a few files like the debug log that we probably needs to keep track of. But that's not all files. 

/Magnus

23 nov 2012 kl. 09:24 skrev Erik Joelsson <erik.joelsson at oracle.com>:

> Ouch.. Having to manually keep track of every file configure might create in the current directory is annoying. You are most welcome to commit this fix to jdk8/build if you have time. Otherwise I will take care of it when given a chance.
> 
> /Erik
> 
> On 2012-11-23 05:47, David Holmes wrote:
>> Okay some weird happened with piping the output into tee. But I got past that and then hit this :)
>> 
>> ++ files_present='confdefs.h
>> config.log
>> debug-configure.log'
>> +++ /bin/echo 'confdefs.h
>> config.log
>> debug-configure.log'
>> +++ /bin/sed -e s/config.log//g -e s/confdefs.h//g -e 's/ //g'
>> +++ /usr/bin/tr -d '\n'
>> ++ filtered_files=debug-configure.log
>> ++ test xdebug-configure.log '!=' x
>> ++ printf '%s\n' 'configure:7991: Current directory is /java/embedded/users/dh198349/build-infra/builds/b00/se-linux
>> t-ea.'
>> ++ printf '%s\n' 'configure: Current directory is /java/embedded/users/dh198349/build-infra/builds/b00/se-linux.
>> '
>> configure: Current directory is /java/embedded/users/dh198349/build-infra/builds/b00/se-linux.
>> 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 /java/embedded/users/dh198349/build-infra' and restart configure
>> configure: (or create a new empty directory and cd to it).
>> 
>> ----
>> 
>> Oops! The debug log causes configure to stop configuring. Simple patch below:
>> 
>> David
>> -----
>> 
>> 
>> diff -r 811b3b283175 common/autoconf/basics.m4
>> --- a/common/autoconf/basics.m4
>> +++ b/common/autoconf/basics.m4
>> @@ -385,7 +385,7 @@
>>       files_present=`$LS $OUTPUT_ROOT`
>>       # Configure has already touched config.log and confdefs.h in the current dir when this check
>>       # is performed.
>> -      filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/ //g' \
>> +      filtered_files=`$ECHO "$files_present" | $SED -e 's/config.log//g' -e 's/confdefs.h//g' -e 's/debug-configure.log//g' -e 's/ //g' \
>>                                              | $TR -d '\n'`
>>       if test "x$filtered_files" != x; then
>>         AC_MSG_NOTICE([Current directory is $CURDIR.])
>> 
>> 
>> 
>> On 23/11/2012 2:23 PM, David Holmes wrote:
>>> I used --debug-configure to try and debug configure but the resulting
>>> debug log just stops abruptly:
>>> 
>>> ++ WC=/usr/bin/wc
>>> ++ test -n /usr/bin/wc
>>> ++ printf '%s\n' 'configure:5726: result: /usr/bin/wc'
>>> ++ printf '%s\n' /usr/bin/wc
>>> ++ test -n /usr/bin/wc
>>> ++ break
>>> ++ test x/usr/bin/wc = x
>>> ++ for ac_prog in which
>>> ++ set dummy which
>>> ++ ac_word=which
>>> ++ printf '%s\n' 'configure:5755: checking for which'
>>> ++ printf %s 'checking for which... '
>>> ++ false
>>> ++ case $WHICH in
>>> ++ as_save_IFS='
>>> '
>>> ++ IFS=
>>> 
>>> ???
>>> 
>>> David



More information about the build-infra-dev mailing list