bug-autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: autoconf-2.65 on UnixWare 7.1.4


From: Tim Rice
Subject: Re: autoconf-2.65 on UnixWare 7.1.4
Date: Mon, 11 Jan 2010 16:48:43 -0800 (PST)

Hello Ralf,

On Mon, 11 Jan 2010, Ralf Wildenhues wrote:

> Hello Tim,
> 
> thanks for the report, and sorry for the long delay.

Delays were expected this time of year.

[snip]
> > > aclocal.m4:16: warning: this file was generated for autoconf 2.63.
> > > You have another version of autoconf.  It may work, but is not guaranteed 
> > > to.
> > > If you have problems, you may need to regenerate the build system 
> > > entirely.
> > > To do so, use the procedure documented by the package, typically 
> > > `autoreconf'.
> > 34. tools.at:1127: 34. autom4te preselections (tools.at:1127): FAILED 
> > (tools.at:1153)
> 
> This looks like you have the environment variable $AUTOM4TE set, or your
> aclocal program is modified, or a wrapper script itsel.  Is any of that
> the case?

Yes, aclocal is modified to use versioned autom4te.
I need to have multiple versions of autoconf running here.
So aclocal was built to use the latest one at the time (2.63) so it
was running /opt/bin/autom4te263.

> The intention here is that aclocal uses the wrapper
> $builddir/tests/autom4te for the newly-built $builddir/bin/autom4te
> rather than some pre-installed older autom4te program.
> 
> I guess we should either skip the test if $AUTOM4TE is set, or even
> better, just unset it; probably even globally in tests/atlocal.
> 
> Can you retry this test with the following patch?  Thanks.
>   make check TESTSUITEFLAGS='-v -d -x 34'

The patch works here.

> +
> +# AUTOM4TE might be set in the environment.  Override it here so that
> +# direct aclocal invocations also use it.
> +AUTOM4TE=autom4te
> +export AUTOM4TE
> 

[snip]
> > > 1. micro-suite.at:2: testing ...
> > > /micro-suite.at:3: printf short
> > > 0a1
> > > > shortntf short
> > > stdout captured
> > > 1. micro-suite.at:2: 1. pass: no trailing newline (micro-suite.at:2): 
> > > FAILED (micro-suite.at:3)
> > > 
> > > 
> > 127. autotest.at:397: 127. Binary output (autotest.at:397): FAILED 
> > (autotest.at:397)
> 
> Apparently your shell has a bug with output not ending in a newline: it
> appears that some string has not been suitably \0-terminated or so.
> 
> I'm not sure whether it is useful to let configure avoid such a shell,
> but you might want to try
>   make check TESTSUITEFLAGS='-v -d -x 127 CONFIG_SHELL=/bin/bash'
> instead of using /bin/ksh, to see whether that makes the test pass.

Unfortunatly these systems do not ship with a bash.
I have built one here and test 127 does pass with CONFIG_SHELL=/opt/bin/bash
so it looks like yet another ksh bug. Hopefully the UnixWare engineers
will find some time to work on my support call about the ksh bugs.

> > 226. torture.at:1351: testing ...
> [...]
> > ./torture.at:1426: PATH=.$PATH_SEPARATOR$PATH; export PATH; { configure 
> > $configure_options --help=recursive; chmod u+w .; } | grep " INNERMOST "
> > stderr:
> > stdout:
> >   INNERMOST   an innermost variable
> > ./torture.at:1432: ./configure $configure_options INNERMOST=tsomrenni
> > 0a1,2
> > > ./config.status: line 500: syntax error at line 503: `<<' unmatched
> > > configure: error: ./configure failed for inner
> > stdout:
> > configure: creating ./config.status
> > === configuring in inner 
> > (/usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner)
> > configure: running /bin/ksh ./configure --disable-option-checking 
> > '--prefix=/usr/local'  'INNERMOST=tsomrenni' --cache-file=/dev/null 
> > --srcdir=.
> > configure: creating ./config.status
> > ./torture.at:1432: exit code was 1, expected 0
> > config.log:
> [...]
> > > configure:2468: === configuring in inner 
> > > (/usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner)
> > > configure:2531: running /bin/ksh ./configure --disable-option-checking 
> > > '--prefix=/usr/local'  'INNERMOST=tsomrenni' --cache-file=/dev/null 
> > > --srcdir=.
> > > configure:2536: error: ./configure failed for inner
> [...]
> > 226. torture.at:1351: 226. Deep Package (torture.at:1351): FAILED 
> > (torture.at:1432)
> 
> There seems to be some mismatch in here-document EOF marker handling, or
> some other shell bug lingering here; _ASBOX is used as EOF marker both
> for here-documents in configure, as well as for here-documents inside
> config.status whose text already appears in configure here-documents.
> Can you post
>   /usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner/config.status
> 
> please?
Sure.
I've attached the full config.status but the interesting part is here.
......
exec 5>>config.log
{
  echo
  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
iASBOX
  $as_echo "$ac_log"
} >&5
......

I've seen this before back in autoconf-2.59.

Something as simple as this works around the problem.
.........
--- autoconf-2.65/lib/m4sugar/m4sh.m4.old       2009-10-28 18:54:06.000000000 
-0700
+++ autoconf-2.65/lib/m4sugar/m4sh.m4   2010-01-11 16:33:39.661999005 -0800
@@ -1394,9 +1394,9 @@
 # _AS_BOX_INDIR(MESSAGE, [FRAME-CHARACTER = `-'])
 # -----------------------------------------------
 m4_define([_AS_BOX_INDIR],
-[sed 'h;s/./m4_default([$2], [-])/g;s/^.../@%:@@%:@ /;s/...$/ 
@%:@@%:@/;p;x;p;x' <<_ASBOX
+[sed 'h;s/./m4_default([$2], [-])/g;s/^.../@%:@@%:@ /;s/...$/ 
@%:@@%:@/;p;x;p;x' <<_ASBOXI
 @%:@@%:@ $1 @%:@@%:@
-_ASBOX])
+_ASBOXI])
 
 
 # _AS_CLEAN_DIR(DIR)
.........

> 
> Thanks,
> Ralf

Thanks for all your help on this.

-- 
Tim Rice                                Multitalents    (707) 887-1469
address@hidden

Attachment: config.status
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]