Problems building argus on non-i386 systems.

Carter Bullard carter at qosient.com
Mon Jun 4 22:38:55 EDT 2001


Hey Yotam,
   The headers are there for when there are no system
headers at all.  There maybe a problem with ./configure where 
the include flag " -I ../include/linux-include" is used
when it is not needed.  The various include files have been
used for many years, so they may be dated, or from an old
BSD system, ...

   Thanks for looking into this.  If there is anything I
can do to help, just holler!

Carter

Carter Bullard
QoSient, LLC
300 E. 56th Street, Suite 18K
New York, New York  10022

carter at qosient.com
Phone +1 212 588-9133
Fax   +1 212 588-9134
http://qosient.com 

-----Original Message-----
From: owner-argus-info at lists.andrew.cmu.edu
[mailto:owner-argus-info at lists.andrew.cmu.edu] On Behalf Of Yotam Rubin
Sent: Monday, June 04, 2001 10:22 PM
To: argus-info at lists.andrew.cmu.edu
Subject: Re: Problems building argus on non-i386 systems.


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