Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Jul 1997 18:31:45 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bartol@salk.edu, current@FreeBSD.ORG
Subject:   Re: make world fails in tcl
Message-ID:  <199707290831.SAA25614@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>/usr/src/lib/libtcl/../../contrib/tcl/unix/tclMtherr.c:80: `DOMAIN'
>undeclared (first use this function)
>...
>/usr/src/lib/libtcl/../../contrib/tcl/unix/tclMtherr.c:80: `SING'
>undeclared (first use this function)
>*** Error code 1
>...
>The problem seems to arise from the following code in tclMtherr.c:
>
>/*
> * The following definitions allow matherr to compile on systems
> * that don't really support it.  The compiled procedure is bogus,
> * but it will never be executed on these systems anyway.
> */     
>   
>#ifndef NEED_MATHERR
>struct exception {
>    int type;
>}; 
>#define DOMAIN 0 
>#define SING 0
>#endif
>
>
>
>Which never gets used because the Makefile in src/lib/libtcl does a 
>-DNEED_MATHERR=1 within the CFLAGS definition.  Therefore SING and DOMAIN
>are undefined.

SING and DOMAIN are defined in <math.h>, provided the standard math library
(src/lib/msun) is used.  The old math library (src/lib/libm) has various
problems and should normally not be used.

The standard math library is configured to never call matherr().  To enable
matherr(), recompile the library to support multiple modes and switch to
SYSV mode.  You shouldn't want this mode (except possibly for matherr()).

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707290831.SAA25614>