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: Ralf Wildenhues
Subject: Re: autoconf-2.65 on UnixWare 7.1.4
Date: Tue, 12 Jan 2010 19:55:27 +0100
User-agent: Mutt/1.5.20 (2009-10-28)

* Tim Rice wrote on Tue, Jan 12, 2010 at 01:48:43AM CET:
> On Mon, 11 Jan 2010, Ralf Wildenhues wrote:
> [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.

Do they ship with any shell that passes this test and is otherwise
reasonable?

> 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.

OK, so one suitable recommendation for users of this system is to
install bash first.  Which bash version did you use, and does it pass
all of its testsuite and does
  make check TESTSUITEFLAGS=CONFIG_SHELL=/path/to/bash

pass all of Autoconf's test suite?

> > > 226. torture.at:1351: testing ...
> > [...]
> > > ./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
[...]
> > > 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.

It seems you've attached the file after applying your proposed patch
below.  Please attach the file for the original 2.65 code, unmodified
(gzip'ed is probably best to avoid transmission mangling).  It is
otherwise difficult to find out whether there might be another bug
lingering like the 1024-byte boundary ${var} expansion problem seen with
some older ksh versions.  Thanks.

> ......
> 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.

At this very same spot only, or with other here-documents or other code
lines as well?

> Something as simple as this works around the problem.

But what is the problem really?  Is it here-doc EOF markers used both in
a shell script as well as in a here-doc in that shell script?  Or is it
here-docs of a certain size, or with certain contents?  Without
understanding that, we cannot know if the workaround is effective or
we'll introduce another similar issue in 2.66.

Cheers,
Ralf

> --- 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)
> .........


[...]
> exec 5>>config.log
> {
>   echo
>   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOXI
> ## Running $as_me. ##
> _ASBOXI
>   $as_echo "$ac_log"
> } >&5







reply via email to

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