[comp.lang.c++] Problems building NIHCL rel3.0, Help!

huggins@dino.ti.com (Gray Huggins) (08/06/90)

I'm attempting to build rel 3.0 of the NIH class libs.  I am on a SPARCStation
1+ running SunOS 4.1 using AT&T 2.0 of C++.  The error comes when I do the
make on errorfacility.  Has anyone seen this problem?  Thanks for any and
all help.  Here is the output and error.  Please e-mail to huggins@ticipa.ti.com

/a1/mmst/huggins/src/nihcl [garfield] -=> make errorfacility
cd errfac; \
        make -f MAKEFILE  CC=CC CCDEBUG= CCFLAGS="+p" I=/usr/include/CC SYS=BSD
NESTED_TYPES= BUGDEFS="" DEBUGDEFS=""; \
        make -f MAKEFILE  install CC=CC CCDEBUG= CCFLAGS="+p" I=/usr/include/CC
SYS=BSD NESTED_TYPES= BUGDEFS="" DEBUGDEFS="" \
        ERRGENDIR=/a1/mmst/huggins/bin ERRTABDIR=/a1/mmst/huggins/lib ERRINCDIR=
/usr/include/CC \
        CLIBDIR=/a1/mmst/huggins/lib LIB_ID=libC
cp errgen_tab /usr/local/lib
CC  +p    -c ErrFac.c
CC  +p ErrFac.c:
cc  -c  ErrFac.c
CC  +p    -c dofile.c
CC  +p dofile.c:
cc  -c  dofile.c
CC  +p    -c errgen.c
CC  +p errgen.c:
cc  -c  errgen.c
CC  +p    -F -c errors.c | sed -e 's/__0__builtin/__builtin/g' >errors..c
cc  -c -o errors.o errors..c
"./errors.h", line 81: redeclaration of formal parameter, __builtin_va_alist
"errors.c", line 202: declared argument __builtin_va_alist is missing
"errors.c", line 202: redeclaration of __builtin_va_alist
"errors.c", line 203: there are parameters after va_alist
*** Error code 1
make: Fatal error: Command failed for target `errors.o'
Current working directory /a1/mmst/huggins/src/nihcl/errfac
*** Error code 1
make: Fatal error: Command failed for target `errorfacility'
9.8u 6.3s 0:28 56% 0+93k 59+112io 161pf+0w
/a1/mmst/huggins/src/nihcl [garfield] -=>
--
Gray Huggins                   Internet: huggins@ticipa.ti.com
Texas Instruments                                          
PO Box 655012  M/S 3635        TI MSG:  GHUG
Dallas, TX 75265               Voice:   (214) 917-2202

kgorlen@sparkler.dcrt.nih.gov (Keith Gorlen) (08/09/90)

In article <HUGGINS.90Aug6111041@dino.ti.com> huggins@dino.ti.com (Gray Huggins) writes:
>I'm attempting to build rel 3.0 of the NIH class libs.  I am on a SPARCStation
>1+ running SunOS 4.1 using AT&T 2.0 of C++.  The error comes when I do the
>make on errorfacility.  Has anyone seen this problem?  Thanks for any and
>all help.  Here is the output and error.  Please e-mail to huggins@ticipa.ti.com
> ...
>CC  +p    -F -c errors.c | sed -e 's/__0__builtin/__builtin/g' >errors..c
>cc  -c -o errors.o errors..c
>"./errors.h", line 81: redeclaration of formal parameter, __builtin_va_alist
>"errors.c", line 202: declared argument __builtin_va_alist is missing
>"errors.c", line 202: redeclaration of __builtin_va_alist
>"errors.c", line 203: there are parameters after va_alist
>*** Error code 1
>make: Fatal error: Command failed for target `errors.o'
>Current working directory /a1/mmst/huggins/src/nihcl/errfac
>*** Error code 1
>make: Fatal error: Command failed for target `errorfacility'
>9.8u 6.3s 0:28 56% 0+93k 59+112io 161pf+0w
>/a1/mmst/huggins/src/nihcl [garfield] -=>

Sure you're not running *Sun's* release of AT&T R2.0?  If so, you have
to find some "#ifdef sparc" directives and disable them

#ifndef SUNCC
#ifdef sparc
// Use magic name to make stdarg work
#define sev __builtin_va_alist
#endif
#endif

then compile with -DSUNCC.  The files affected are:

        lib/Class.c
        lib/Exception.c
        errfac/errors.c
        ex/Vehicle.c

Also, you must use the "munch" version of _main.c.
--
	Keith Gorlen			phone: (301) 496-1111
	Building 12A, Room 2033		uucp: uunet!nih-csl!kgorlen
	National Institutes of Health	Internet: kgorlen@alw.nih.gov
	Bethesda, MD 20892