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