Hi,

It cannot configure rrdtool-1.2.10 on Solaris 9 with gcc-4.0.0 or
later.  the error message is following.

checking for isinf... no
checking for isinf with <math.h>... yes
checking if IEEE math works out of the box... no
checking if IEEE math works with the -ieee switch... no
checking if IEEE math works with the -qfloat=nofold switch... no
checking if IEEE math works with the -w -qflttrap=enable:zerodivide... no
checking if IEEE math works with the -mieee switch... no
checking if IEEE math works with the -q float=rndsngl switch... no
checking if IEEE math works with the -OPT:IEEE_NaN_inf=ON switch... no
checking if IEEE math works with the -OPT:IEEE_comparisons=ON switch... no
checking if IEEE math works with fpsetmask(0)... no
checking if IEEE math works with signal(SIGFPE,SIG_IGN)... no
configure: error:
Your Compiler does not do propper IEEE math ... Please find out how to
make IEEE math work with your compiler and let me know ([EMAIL PROTECTED]).
Check config.log to see what went wrong ...

The configure script checks isinf with <math.h> as following.

#include <math.h>
int
main ()
{
float f = 0.0; isinf(f)
  ;
  return 0;
}

Gcc-4.0.0 or later eliminates calls to pure functions whose return
value is not used.[1] So compilation of the above code is succeed and
the HAVE_ISINF macro is defined if the system does not have isinf().

Therefore, the following isinf(a) macro is not defined.

/* Solaris */
#if (! defined(HAVE_ISINF) && defined(HAVE_FPCLASS))
#  define HAVE_ISINF 1
#  define isinf(a) (fpclass(a) == FP_NINF || fpclass(a) == FP_PINF)
#endif

Jakub Jelinek suggested the solution in [email protected] list.[2] Could
anyone take look it?

[1] http://article.gmane.org/gmane.comp.gcc.devel/69128
[2] http://article.gmane.org/gmane.comp.gcc.devel/69154

Regards.

-- 
Hiroshi Fujishima

--
Unsubscribe mailto:[EMAIL PROTECTED]
Help        mailto:[EMAIL PROTECTED]
Archive     http://lists.ee.ethz.ch/rrd-developers
WebAdmin    http://lists.ee.ethz.ch/lsg2.cgi

Reply via email to