Background: James wrote autoconf updates for MOO, but this has not been comitted to cvs HEAD, as I am given to understand it, due to lack of testing.
As part of my day job, I happen to have logins on a variety of systems. So this weekend I built moo on several test platforms with sources acheived in this manner: cvs -z3 -d:pserver:[EMAIL PROTECTED]:/cvsroot/lambdamoo co -d server-autoconf -r HEAD -j AUTOCONF_TWO server Which merged without conflict. Further, options.h was edited to include BYTECODE_REDUCE_REF and OUTBOUND_NETWORK set to 0, since I harbor some belief that these include code not otherwise compiled. The following built and produced a moo binary that appeared sane: Solaris 10 i686 gcc Solaris 10 sun4u gcc HP/UX 11.11 gcc AIX 5.1 gcc FreeBSD 5.3-REL-P2 i386 gcc(cc) Slackware 8.1 i386 (linux-2.4.18) gcc(cc) Unfortunately, as is often the case with a test lab, I was not presently able to perform a test build on either the OSF/1 platform (I think it's clock is messed up) nor any Solaris 9 system (this old sun4m system spends a great deal of time "on its back"). Also missing from this test run is any form of Irix (I have one in my garage I guess I could dig out...). The following platforms failed to configure: Solaris 10 i686 cc i686's config.log: configure:3207: checking for cc option to accept ANSI C configure:3270: cc -c -g conftest.c >&5 "configure", line 3222: Error: p is not defined. "configure", line 3226: Warning: The variable p has not yet been assigned a valu e. "configure", line 3226: Warning: The variable i has not yet been assigned a valu e. "configure", line 3229: Error: Use ";" to terminate declarations. "configure", line 3232: Error: __builtin_va_alist is not defined. "configure", line 3233: Error: The function "g" must have a prototype. "configure", line 3235: Warning: The variable s has not yet been assigned a valu e. "configure", line 3251: Error: Use ";" to terminate declarations. "configure", line 3252: Error: Formal argument g of type char*(*)(char**,int) in call to f(char*(*)(char**,int), char**, ...) is being passed char*(*)(). "configure", line 3252: Error: Formal argument g of type char*(*)(char**,int) in call to f(char*(*)(char**,int), char**, ...) is being passed char*(*)(). "configure", line 3255: Error: "}" expected instead of EOF. 8 Error(s) and 3 Warning(s) detected. configure:3273: $? = 8 configure: failed program was: #line 3214 "configure" #include "confdefs.h" #include <stdarg.h> #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, i nt); int argc; char **argv; #ifdef F77_DUMMY_MAIN # ifdef __cplusplus extern "C" # endif int F77_DUMMY_MAIN() { return 1; } #endif int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } configure:3270: cc -qlanglvl=ansi -c -g conftest.c >&5 cc: Warning: Option -qlanglvl=ansi passed to ld, if ld is invoked, ignored other wise I suspect the same thing would have happened on the sun4u if we had the sun compiler installed on it. The following platforms configured but failed to build: HP/UX 11.11 cc AIX 5.1 cc HP/UX 11.11: cc -g -c ast.c cc: "storage.h", line 50: error 1000: Unexpected symbol: "void". cc: "utils.h", line 45: error 1000: Unexpected symbol: "void". cc: "utils.h", line 45: error 1586: Redefinition of function "inline". cc: "utils.h", line 45: error 1711: Inconsistent parameter list declaration for "inline". cc: "utils.h", line 52: error 1000: Unexpected symbol: "Var". cc: "utils.h", line 56: error 1718: Types are not assignment-compatible. cc: "utils.h", line 58: error 1718: Types are not assignment-compatible. cc: "utils.h", line 61: error 1000: Unexpected symbol: "Var". cc: "utils.h", line 65: error 1718: Types are not assignment-compatible. cc: "utils.h", line 67: error 1718: Types are not assignment-compatible. *** Error exit code 1 AIX 5.1: $ make cc -g -c ast.c "/usr/include/sys/inttypes.h", line 168.9: 1506-236 (W) Macro name INT32_MAX has been redefined. "/usr/include/sys/inttypes.h", line 168.9: 1506-358 (I) "INT32_MAX" is defined on line 279 of config.h. "storage.h", line 52.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "storage.h", line 50.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline. "db.h", line 49.5: 1506-045 (S) Undeclared identifier FLUSH_IF_FULL. "db.h", line 52.5: 1506-045 (S) Undeclared identifier FLUSH_ALL_NOW. "db.h", line 54.5: 1506-045 (S) Undeclared identifier FLUSH_PANIC. "db.h", line 56.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "utils.h", line 47.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "utils.h", line 45.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline. "utils.h", line 55.9: 1506-045 (S) Undeclared identifier v. "utils.h", line 63.1: 1506-277 (S) Syntax error: possible missing ';' or ','? "utils.h", line 61.8: 1506-485 (S) Parameter declaration list is incompatible with declarator for inline. "ast.c", line 43.33: 1506-043 (S) The operand of the sizeof operator is not valid. "ast.c", line 53.17: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 54.24: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 54.37: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 68.41: 1506-043 (S) The operand of the sizeof operator is not valid. "ast.c", line 70.13: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 70.27: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 75.5: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 76.12: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 85.20: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 86.25: 1506-486 (S) A pointer to an incomplete type cannot be indexed. "ast.c", line 87.13: 1506-486 (S) A pointer to an incomplete type cannot be indexed. make: 1254-004 The error code from the last command is 1. The runtime tests: > http://www.ipomoea.org/moo/ Will have to wait for another day when my housemate is not busy cleaning the house and making me feel guilty. One more comment. The HEAD version, "1.8.2", seems to want to build with gcc with the "-g -O" flags. The AUTOCONF_TWO branch tries to build with the flags "-g -g -O2". I would recommend instead "-g -O2 -Wall -Werror", and then either change sources to silence warnings or unselect specific warnings. -O2 isn't important for optimization, but some warnings are not produced unless optimization at level 2 is being done (the least of which is uninitialized variables). -- David W. Hankins "If you don't do it right the first time, Network Mercenary you'll just have to do it again." -- Jack T. Hankins ############################################################# This message is sent to you because you are subscribed to the mailing list <moo-cows@the-b.org>. To unsubscribe, E-mail to: <[EMAIL PROTECTED]> To switch to the DIGEST mode, E-mail to <[EMAIL PROTECTED]> To switch to the INDEX mode, E-mail to <[EMAIL PROTECTED]> Send administrative queries to <[EMAIL PROTECTED]>