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

Reply via email to