Compile failure, missing ieeefp.h (argus-clients-3.0.7.12)

Carter Bullard carter at qosient.com
Tue Aug 13 09:20:15 EDT 2013


Hey Maketsi,
This is a problem for specific types of Solaris machines,
and quite likely doesn't affect your installation.  If you
replace the definition of signbit() in argus_filter.c to this,
things should work better:

#if defined(ARGUS_PLURIBUS)
#ifndef signbit
#include <ieeefp.h>

inline int
signbit(double x)
{
   switch (fpclass(x)) {
     case FP_SNAN:
     case FP_QNAN:
     case FP_PZERO:
     case FP_PNORM:
     case FP_PDENORM:
     case FP_PINF:
        return(0);

     case FP_NDENORM:
     case FP_NZERO:
     case FP_NINF:
     case FP_NNORM:
        return(1);
   }
}
#endif
#endif

In my version its around line 140.  I've included a new
argus_filter.c if you're not comfortable making the change
to the file yourself.

Carter


On Aug 13, 2013, at 8:43 AM, maketsi <maketsi at gmail.com> wrote:

> Hi Carter & co,
> 
> 64bit CentOS 5.9 does not have ieeefp.h and therefore argus_filter.c does not compile. I failed to find a package that would provide that file. Also, configure does not check for the existance of that file. This problem didn't exist on earlier 3.0.7.x versions.
> 
> By googling, it seems that the fpclass() function and constants related to it could be replaced with fpclassify() that can be found from (GNU C) <math.h>:
> http://h21007.www2.hp.com/portal/download/files/unprot/STK/Solaris_STK/impacts/i99.html
> 
> math.h on this system defines fpclassify() as:
> 
> /* Return number of classification appropriate for X.  */
> # ifdef __NO_LONG_DOUBLE_MATH
> #  define fpclassify(x) \
>      (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x))
> # else
> #  define fpclassify(x) \
>      (sizeof (x) == sizeof (float)                                            \
>       ? __fpclassifyf (x)                                                     \
>       : sizeof (x) == sizeof (double)                                         \
>       ? __fpclassify (x) : __fpclassifyl (x))
> # endif
> 
> gcc version: 4.1.2 20080704 (Red Hat 4.1.2-54)
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130813/e31de2e6/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: argus_filter.c
Type: application/octet-stream
Size: 84579 bytes
Desc: not available
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130813/e31de2e6/attachment.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130813/e31de2e6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6837 bytes
Desc: not available
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130813/e31de2e6/attachment.bin>


More information about the argus mailing list