I've made build attempts for texinfo-4.0 on these systems:

        Apple Macintosh PPC G3  Rhapsody 5.5
        DEC Alpha               OSF/1 4.0F
        HP 9000/735             HP-UX 10.01
        IBM PowerPC             AIX 4.2
        Intel Pentium II MMX    GNU/Linux 2.2.5-22
        NeXT Turbostation       Mach 3.3
        SGI Indigo/2            IRIX 5.3
        SGI Origin 200          IRIX 6.5
        Sun SPARC               Solaris 2.6
        Sun SPARC               Solaris 2.7

Ultimately, I succeeded everywhere but IBM AIX 4.2, but not without
some hand tweaking of compiler options.  

Normally, I try to build GNUware using vendor-provided compilers,
rather than gcc, so as to maximize the number of compilers hitting the
source code, and increasing the likelihood of exposure of problems.

On SGI IRIX 5.3, a compilation attempt with CC='cc -ansi -mips2 -O2'
failed in a few places because of missing, or incorrect prototypes, as
shown by the build log extracts below.  I was able to get the build to
work by removing the -ansi option.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
make[2]: Entering directory `/export/home/0021/build-indigo-irix5/texinfo-4.0/intl'
cc -ansi -mips2 -O2 -c -DLOCALEDIR=\"/usr/local/share/locale\" 
-DGNULOCALEDIR=\"/usr/local/share/locale\" 
-DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl 
-I../lib    bindtextdom.c
cfe: Error: bindtextdom.c, line 116: Type int  of rhs of assignment expression is 
incompatible with type unsigned char *  of lhs (3.3.16.1)
              new_dirname = strdup (dirname);
        ------------------^
cfe: Error: bindtextdom.c, line 148: Type int  of rhs of assignment expression is 
incompatible with type unsigned char *  of lhs (3.3.16.1)
       new_binding->domainname = strdup (domainname);
 ------------------------------^
cfe: Error: bindtextdom.c, line 164: Type int  of rhs of assignment expression is 
incompatible with type unsigned char *  of lhs (3.3.16.1)
          new_binding->dirname = strdup (dirname);
        -----------------------^
make[2]: [bindtextdom.o] Error 1 (ignored)
cc -ansi -mips2 -O2 -c -DLOCALEDIR=\"/usr/local/share/locale\" 
-DGNULOCALEDIR=\"/usr/local/share/locale\" 
-DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl 
-I../lib    finddomain.c
cfe: Error: finddomain.c, line 147: Type int  of rhs of assignment expression is 
incompatible with type unsigned char *  of lhs (3.3.16.1)
       locale = strdup (alias_value);
 -------------^
make[2]: [finddomain.o] Error 1 (ignored)
cc -ansi -mips2 -O2 -c -DLOCALEDIR=\"/usr/local/share/locale\" 
-DGNULOCALEDIR=\"/usr/local/share/locale\" 
-DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl 
-I../lib    textdomain.c
cfe: Error: textdomain.c, line 89: Type int  of rhs of assignment expression is 
incompatible with type const unsigned char *  of lhs (3.3.16.1)
       _nl_current_default_domain = strdup (domainname);
 ---------------------------------^

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

make[2]: Entering directory `/export/home/0021/build-indigo-irix5/texinfo-4.0/info'
cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c echo-area.c
cfe: Error: /usr/include/stdlib.h, line 143: Incompatible type for the function 
parameter (3.5.4.3(15))
        int (*)(const void *, const void *));
        --------^
cfe: Error: echo-area.c, line 1291: Incompatible pointer type assignment (3.3.16.1, 
3.5.4.1(21))
          compare_references);
 ---------^
cfe: Error: echo-area.c, line 1291: Type int (* )(REFERENCE * *  , REFERENCE * * ) of 
this argument  is incompatible with type int (* )(const void *  , const void * ) of 
function prototype description (3.3.16.1)
          compare_references);
 ---------^
make[2]: [echo-area.o] Error 1 (ignored)

cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c filesys.c
cfe: Error: filesys.c, line 554: Type int  of rhs of assignment expression is 
incompatible with type FILE *  of lhs (3.3.16.1)
   stream = popen (command, "r" );
 ---------^
make[2]: [filesys.o] Error 1 (ignored)
cc -ansi -mips2 -O2    -o makedoc  makedoc.o ../lib/libtxi.a  -lncurses 
../intl/libintl.a
ld:
Can't read archive header in: ../intl/libintl.a (Error 0)
make[2]: [makedoc] Error 1 (ignored)

cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c nodemenu.c
cfe: Error: /usr/include/stdlib.h, line 143: Incompatible type for the function 
parameter (3.5.4.3(15))
        int (*)(const void *, const void *));
        --------^
cfe: Error: nodemenu.c, line 166: Incompatible pointer type assignment (3.3.16.1, 
3.5.4.1(21))
       qsort (lines, lines_index, sizeof (char *), compare_strings);
 --------------------------------------------------^
cfe: Error: nodemenu.c, line 166: Type int (* )(unsigned char * *  , unsigned char * * 
) of this argument  is incompatible with type int (* )(const void *  , const void * ) 
of function prototype description (3.3.16.1)
       qsort (lines, lines_index, sizeof (char *), compare_strings);
 --------------------------------------------------^
make[2]: [nodemenu.o] Error 1 (ignored)
cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c session.c
cfe: Error: session.c, line 3210: Type int  of rhs of assignment expression is 
incompatible with type FILE *  of lhs (3.3.16.1)
       printer_pipe = popen (print_command, "w");
 -------------------^
make[2]: [session.o] Error 1 (ignored)
cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c signals.c
cfe: Error: signals.c, line 154: Syntax Error
         do {     sigset_t nvar, ovar;     sigemptyset (&ovar);     sigemptyset 
(&nvar);     sigaddset (&nvar, sig);     sigprocmask (SIG_UNBLOCK, &nvar, &ovar);   } 
while (0) ;
 --------------------------^
cfe: Error: signals.c, line 192: Syntax Error
           do {     sigset_t nvar, ovar;     sigemptyset (&ovar);     sigemptyset 
(&nvar);     sigaddset (&nvar, sig);     sigprocmask (SIG_UNBLOCK, &nvar, &ovar);   } 
while (0) ;
 ----------------------------^
make[2]: [signals.o] Error 1 (ignored)
rm -f doc.c funs.h
./makedoc ./session.c ./echo-area.c ./infodoc.c   ./m-x.c ./indices.c ./nodemenu.c   
./footnotes.c ./variables.c
make[2]: ./makedoc: Command not found
make[2]: [doc.c] Error 127 (ignored)
cc -ansi -mips2 -O2 -DINFODIR=\"/usr/local/info\" 
-DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -I../lib -I../intl -I.. 
-I.     -c doc.c

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

make[3]: Entering directory `/export/home/0021/build-indigo-irix5/texinfo-4.0/makeinfo'
cc -ansi -mips2 -O2 -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl 
-DLOCALEDIR=\"/usr/local/share/locale\"     -c index.c
cfe: Error: /usr/include/stdlib.h, line 143: Incompatible type for the function 
parameter (3.5.4.3(15))
        int (*)(const void *, const void *));
        --------^
cfe: Error: index.c, line 611: Incompatible pointer type assignment (3.3.16.1, 
3.5.4.1(21))
   qsort (array, count, sizeof (INDEX_ELT *), index_element_compare);
 ---------------------------------------------^
cfe: Error: index.c, line 611: Type int (* )(INDEX_ELT * *  , INDEX_ELT * * ) of this 
argument  is incompatible with type int (* )(const void *  , const void * ) of 
function prototype description (3.3.16.1)
   qsort (array, count, sizeof (INDEX_ELT *), index_element_compare);
 ---------------------------------------------^

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

make[2]: Entering directory `/export/home/0021/build-indigo-irix5/texinfo-4.0/util'
cc -ansi -mips2 -O2 -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl 
-DLOCALEDIR=\"/usr/local/share/locale\"     -c install-info.c
cfe: Error: install-info.c, line 572: Type int  of rhs of assignment expression is 
incompatible with type FILE *  of lhs (3.3.16.1)
       f = popen (command, "r");
 --------^
cfe: Error: install-info.c, line 676: Type int  of rhs of assignment expression is 
incompatible with type FILE *  of lhs (3.3.16.1)
       output = popen (command, "w");
 -------------^
make[2]: [install-info.o] Error 1 (ignored)
cc -ansi -mips2 -O2    -o install-info  install-info.o ../lib/libtxi.a 
../intl/libintl.a
ld:
Can't open: install-info.o (No such file or directory)
make[2]: [install-info] Error 1 (ignored)
cc -ansi -mips2 -O2 -DHAVE_CONFIG_H -I. -I. -I.. -I../lib -I../intl 
-DLOCALEDIR=\"/usr/local/share/locale\"     -c texindex.c
cfe: Error: /usr/include/stdlib.h, line 143: Incompatible type for the function 
parameter (3.5.4.3(15))
        int (*)(const void *, const void *));
        --------^
cfe: Error: /usr/include/stdlib.h, line 143: Incompatible type for the function 
parameter (3.5.4.3(15))
        int (*)(const void *, const void *));
        --------^
cfe: Error: texindex.c, line 1049: Incompatible pointer type assignment (3.3.16.1, 
3.5.4.1(21))
              compare_prepared);
 -------------^
cfe: Error: texindex.c, line 1049: Type int (* )(struct lineinfo *  , struct lineinfo 
* ) of this argument  is incompatible with type int (* )(const void *  , const void * 
) of function prototype description (3.3.16.1)
              compare_prepared);
 -------------^
cfe: Error: texindex.c, line 1057: Incompatible pointer type assignment (3.3.16.1, 
3.5.4.1(21))
     qsort (linearray, nextline - linearray, sizeof (char *), compare_full);
 -------------------------------------------------------------^
cfe: Error: texindex.c, line 1057: Type int (* )(unsigned char * *  , unsigned char * 
* ) of this argument  is incompatible with type int (* )(const void *  , const void * 
) of function prototype description (3.3.16.1)
     qsort (linearray, nextline - linearray, sizeof (char *), compare_full);
 -------------------------------------------------------------^
make[2]: [texindex.o] Error 1 (ignored)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

On IBM AIX 4.2, I got a compilation failure

c89 -O3 -c -DLOCALEDIR=\"/usr/local/share/locale\" 
-DGNULOCALEDIR=\"/usr/local/share/locale\" 
-DLOCALE_ALIAS_PATH=\"/usr/local/share/locale:.\" -DHAVE_CONFIG_H -I.. -I. -I../intl 
-I../lib    bindtextdom.c
"bindtextdom.c", line 116.27: 1506-068 (S) Operation between types "char*" and "int" 
is not allowed.
"bindtextdom.c", line 148.31: 1506-068 (S) Operation between types "char*" and "int" 
is not allowed.
"bindtextdom.c", line 164.32: 1506-068 (S) Operation between types "char*" and "int" 
is not allowed.

so I switched to gcc 2.95.2, where compilation is successful, but
linking fails:

gcc  -g -O2  -o ginfo  dir.o display.o dribble.o echo-area.o filesys.o footnotes.o 
gc.o indices.o info-utils.o info.o infodoc.o infomap.o m-x.o man.o nodemenu.o nodes.o 
search.o session.o signals.o terminal.o tilde.o variables.o window.o doc.o 
../lib/libtxi.a  -lcurses ../intl/libintl.a 
ld: 0711-317 ERROR: Undefined symbol: BC
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- Center for Scientific Computing       FAX: +1 801 585 1640, +1 801 581 4148 -
- University of Utah                    Internet e-mail: [EMAIL PROTECTED]  -
- Department of Mathematics, 322 INSCC                   [EMAIL PROTECTED]        -
- 155 S 1400 E RM 233                                    [EMAIL PROTECTED]       -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe  -
-------------------------------------------------------------------------------

Reply via email to