Hello Tim, Kean, While searching for something entirely unrelated, I just found this message of Kean: http://lists.x.org/archives/xorg-modular/2005-March/000039.html
which has a patch against Autoconf, presumably needed for some SCO systems' shells. (BTW, the message mentions that it was submitted to Autoconf at one time, but I could not find this message in the mailing list archives.) Between 2.59 and 2.59e we have changed macros to not expand to long lines in the resulting scripts, but apparently some shells not only have limits in the line length, but also in the length of the assignment string; now, Kean's message above seems to imply that this length limitation is _before_ variable expansion, not afterwards. Is that really the case? IOW: is (a forward-ported and bug-fixed version of) the patch above still necessary for 2.59e? If the limit were afterwards, a more invasive fix would be necessary; but if not, we may be able to get away more easily fixing this: * Tim Rice wrote on Tue, Jun 06, 2006 at 03:47:09AM CEST: > > There is still a problem with 2.59d on the OpenServer platforms. > .... > 85;torture.at:416;Torturing config.status;; > 86;torture.at:544;Substitute a 2000-byte string;; > 87;to > + ./testsuite[907]: : is not an identifier > gmake[2]: *** [check-local] Error 1 > It looks like the "at_help_all" variable has 12270 characters in it. > The ksh (/usr/bin/posix/sh is a symbolic link to ksh) is blowing up > at 4074 characters. Does the patch below fix this for you? It is just a wee bit unfortunate because with most shells it causes quadratic initialization time, which in practice means something like doubled overhead for Autoconf's ./tests/testsuite --list With a bit of luck, we may be able to fix this soon with a shell function approach similarly to this (which scales well for good shells): http://lists.gnu.org/archive/html/libtool-patches/2006-05/msg00016.html Cheers, Ralf * lib/autotest/general.m4 (AT_CLEANUP): Define `AT_help_all' to append a line to the shell variable `at_help_all'. (AT_INIT): Adjust accordingly, so that variable assignment statement length does overflow OpenServer /usr/bin/posix/sh limits. Reported by Tim Rice in <http://lists.gnu.org/archive/html/bug-autoconf/2006-06/msg00013.html>. Index: lib/autotest/general.m4 =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/autotest/general.m4,v retrieving revision 1.213 diff -u -r1.213 general.m4 --- lib/autotest/general.m4 23 May 2006 04:44:27 -0000 1.213 +++ lib/autotest/general.m4 18 Jun 2006 11:42:55 -0000 @@ -279,7 +279,8 @@ # numerical order. at_format='m4_bpatsubst(m4_defn([AT_ordinal]), [.], [?])' # Description of all the test groups. -at_help_all='AT_help_all'])])dnl +at_help_all= +AT_help_all])])dnl m4_divert_push([PARSE_ARGS])dnl at_prev= @@ -1220,7 +1221,8 @@ # Complete a group of related tests. m4_define([AT_CLEANUP], [m4_append([AT_help_all], -m4_defn([AT_ordinal]);m4_defn([AT_line]);m4_defn([AT_description]);m4_ifdef([AT_keywords], [m4_defn([AT_keywords])]); +[at_help_all=$at_help_all' +]m4_defn([AT_ordinal]);m4_defn([AT_line]);m4_defn([AT_description]);m4_ifdef([AT_keywords], [m4_defn([AT_keywords])]);' )dnl m4_divert_pop([TEST_SCRIPT])dnl Back to TESTS AT_xfail
