Hi Ralf, On Tue, 12 Jan 2010, Ralf Wildenhues wrote:
> * 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: 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? Unfortunatly we're already selecting the best (least tests fail) shell that ships with the system. /bin/sh will pass test 127 (and 226) but fails 123 133 134 and 211. > > 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? The bash I built back in 2006 was version 3.1.17(1)-release With that we get testsuite: 74 211 failed I started working on building bash-4.1 last night. When I get that built, I'll see if it works any better. > > > > 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. Sorry about that. I thought my mail client had read in the attachment before I went and tested the changes. Note to self: When using pine, postpone the message and then open again before modifying any attached documents. > > ...... > > 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? I remember having problems with OpenSSH's configure back when we used autoconf-2.59 to generate it. > 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. I've also attached the config.status from autoconf-2.59 test 063 that shows the problem. I don't really know what the problem is. It seems to be if there are here-doc within a here-doc in a shell script of a certain size with certain contents. I can add or subtract a space and get different results. Take the chunk ...... exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 ...... of /usr/local/src/gnu/autoconf-2.65/tests/testsuite.dir/226/inner/configure. If we "ksh configure" and "grep BOX config.status" we get sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX iASBOX remove a space before the echo and we get sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX x"SBOX remove another space (or add one to the original or add a blank line above the original) and it works. This seems too strange to to be able to figure out for future versions (without testing the future version). Until we get a good ksh for UnixWare, don't waste any more time on this one. > > Cheers, > Ralf -- Tim Rice Multitalents (707) 887-1469 t...@multitalents.net
config.status.gz
Description: Binary data
autoconf-2.59-test063-config.status.gz
Description: Binary data