build error on solaris

Help
2008-06-09
2013-04-22
  • jason pepas
    jason pepas
    2008-06-09

    Hi,

    I'm building ccpunit 1.12.1 on a solaris 8 box using gcc 4.2.2, and I get the following error:

    g++ -DHAVE_CONFIG_H -I. -I../../config -I../../include -I../../include -g -O2
    -MT TestAssert.lo -MD -MP -MF .deps/TestAssert.Tpo -c TestAssert.cpp  -fPIC
    -DPIC -o .libs/TestAssert.o
    In file included from TestAssert.cpp:2:
    ../../include/cppunit/portability/FloatingPoint.h: In function 'int
    CppUnit::floatingPointIsFinite(double)':
    ../../include/cppunit/portability/FloatingPoint.h:43: error: 'finite' was not
    declared in this scope
    make[2]: *** [TestAssert.lo] Error 1
    make[2]: Leaving directory
    `/v/filer4b/cvsbuild/CVSBUILD/cppunit-1.12.1-sunos-sun4u/cppunit/src/cppunit'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory
    `/v/filer4b/cvsbuild/CVSBUILD/cppunit-1.12.1-sunos-sun4u/cppunit/src'
    make: *** [all-recursive] Error 1

    any ideas?

    I have built cppunit successfully on a linux box using gcc-4.2.2.

    -jason

     
    • I get the same error. Any ideas on a fix?

       
    • zhang wei
      zhang wei
      2009-04-14

      Hi, I just encounter it on solaris 9.

      open "./include/cppunit/portability/FloatingPoint.h",

      add a line "#include <ieeefp.h>" after "#include <math.h>".

      try it, if not ok try "man finite", you can see
      the head filewith "finite" definition, include the file to "FloatingPoint.h".