Problems building argus on non-i386 systems.

Yotam Rubin yotam at makif.omer.k12.il
Mon Jun 4 22:22:06 EDT 2001


on Sun, Jun 03, 2001 at 09:53:14AM -0400, Carter Bullard wrote:
> Hey Yotam,
>    Yes argus compiles fine on Solaris.  Somehow its finding
> a <netinet/ip.h> that has a non-BSD type of "struct ip" defined.
> These are Debian machines?  What does the standard Debian
> /usr/include/netinet/ip.h look like?


Hmmm, apparently argus has its own versions of certain header files, including
ip.h, the following bit is the problematic one:
"
#if defined(vax) || defined(i386)
        u_char  ip_hl:4,                /* header length */
                ip_v:4;                 /* version */
#endif
#if defined(mc68000) || defined(sparc)
        u_char  ip_v:4,                 /* version */
                ip_hl:4;                /* header length */
#endif"

It should be:
struct ip
  {
#if __BYTE_ORDER == __LITTLE_ENDIAN
    unsigned int ip_hl:4;               /* header length */
    unsigned int ip_v:4;                /* version */
#endif
#if __BYTE_ORDER == __BIG_ENDIAN
    unsigned int ip_v:4;                /* version */
    unsigned int ip_hl:4;               /* header length */
#endif


Is there a particular reason for duplicating these header files? 
I believe we should use the official header files whenever possible.
Anyway, I'll patch the existing ip.h and you decide what to do for the 
release.

	Regards, Yotam Rubin



More information about the argus mailing list