Unable to Compile Argus on Solaris 10

Welland, Neal N.Welland at warwick.ac.uk
Mon Jan 21 11:50:00 EST 2013


Hi Carter,

Thanks for your quick response.

We were using v3.0.4, rather than v3.0.6, in an attempt to run a direct side-by-side comparison with another argus installation. I'll keep trying with v3.0.4 for now, but intend to move to v3.0.6 once we are sure everything is okay.

After adding the suggested typedefs to argus_compat.h, the make got a little further, but still failed:

$ sudo make
### Making in /var/tmp/argus-3.0.4/common
gcc -O3 -I. -I/opt/csw/include -I./../include  -I./../argus -DHAVE_CONFIG_H -c argus_util.c
argus_util.c:273:22: fatal error: byteswap.h: No such file or directory
compilation terminated.
*** Error code 1
make: Fatal error: Command failed for target `argus_util.o'
Current working directory /var/tmp/argus-3.0.4/common
### Done with /var/tmp/argus-3.0.4/common
### Making in /var/tmp/argus-3.0.4/argus
gcc -O3 -I. -I/opt/csw/include -I./../include -DHAVE_CONFIG_H -c argus.c
gcc -O3 -I. -I/opt/csw/include -I./../include -DHAVE_CONFIG_H -c ArgusModeler.c
gcc -O3 -I. -I/opt/csw/include -I./../include -DHAVE_CONFIG_H -c ArgusSource.c
ArgusSource.c:1387:22: fatal error: byteswap.h: No such file or directory
compilation terminated.
*** Error code 1
make: Fatal error: Command failed for target `ArgusSource.o'
Current working directory /var/tmp/argus-3.0.4/argus
### Done with /var/tmp/argus-3.0.4/argus
### Making in /var/tmp/argus-3.0.4/events
### Done with /var/tmp/argus-3.0.4/events

The byteswap.h issue was actually present in the original invocation, just hidden in the other errors. Some more googling suggests byteswap.h doesn't exist under Solaris? Any ideas?

Cheers, Neal.

From: Carter Bullard [mailto:carter at qosient.com]
Sent: 21 January 2013 16:21
To: Welland, Neal
Cc: argus-info at lists.andrew.cmu.edu
Subject: Re: [ARGUS] Unable to Compile Argus on Solaris 10

* PGP - S/MIME Signed by an unverified key: 21/01/2013 at 16:21:14
Hey Neal,
The current version of Argus is 3.0.6.x.  Please grab the stable versions from http://qosient.com/argus
and see if that doesn't compile.  I haven't personally had a Solaris machine in a number of years, so
if we can't compile, it won't be but a minor change to get it there.

If Solaris doesn't provide a defintion for u_int8_t, then we'll need to add some form of definition
in either ./include/argus_os.h or ./include/argus_compat.h, preferably argus_compat.h.
There are #ifdefs for ARGUS_SOLARIS, which is defined in the ./compat scripts.

Add these to one of your files, and see if that works for you.

typedef unsigned char           u_int8_t;
typedef unsigned short          u_int16_t;
typedef unsigned int            u_int32_t;
typedef unsigned long long      u_int64_t;


If so, I'll add them to the argus-3.0.7.x code base, which is also available on the web site.
Carter

On Jan 21, 2013, at 10:59 AM, "Welland, Neal" <N.Welland at warwick.ac.uk<mailto:N.Welland at warwick.ac.uk>> wrote:


Hi,

We are trying to build argus v.3.0.4 on a Solaris 10 (10/09 s10x_u8wos_08a X86) server, but it fails.
We followed the instructions in the INSTALL file, and have the following dependencies installed:

Libpcap = v1.2.1
Bison = v2.5
Flex = v2.5.4
TCPwrappers = 7.6_ipv6.4
Gcc = v4.6.3 (the only compiler available)

./configure seems to execute without error.

Executing make results in:

bash-3.2$ sudo make
Password:
### Making in /var/tmp/argus-3.0.4/common
gcc -O3 -I. -I/opt/csw/include -I./../include  -I./../argus -DHAVE_CONFIG_H -c argus_util.c
In file included from ./../argus/ArgusModeler.h:330:0,
                 from ./../argus/argus.h:40,
                 from argus_util.c:68:
./../argus/ArgusSource.h:90:2: error: unknown type name 'u_int8_t'
./../argus/ArgusSource.h:91:2: error: unknown type name 'u_int8_t'
./../argus/ArgusSource.h:95:38: error: unknown type name 'u_int8_t'
./../argus/ArgusSource.h:97:39: error: unknown type name 'u_int8_t'
./../argus/ArgusSource.h:98:40: error: unknown type name 'u_int16_t'
./../argus/ArgusSource.h:99:40: error: unknown type name 'u_int32_t'
./../argus/ArgusSource.h:100:40: error: unknown type name 'u_int64_t'
argus_util.c:273:22: fatal error: byteswap.h: No such file or directory
compilation terminated.
*** Error code 1
make: Fatal error: Command failed for target `argus_util.o'
Current working directory /var/tmp/argus-3.0.4/common
### Done with /var/tmp/argus-3.0.4/common
### Making in /var/tmp/argus-3.0.4/argus
gcc -O3 -I. -I/opt/csw/include -I./../include -DHAVE_CONFIG_H -c argus.c
In file included from ./ArgusModeler.h:330:0,
                 from ./argus.h:40,
                 from argus.c:58:
./ArgusSource.h:90:2: error: unknown type name 'u_int8_t'
./ArgusSource.h:91:2: error: unknown type name 'u_int8_t'
./ArgusSource.h:95:38: error: unknown type name 'u_int8_t'
./ArgusSource.h:97:39: error: unknown type name 'u_int8_t'
./ArgusSource.h:98:40: error: unknown type name 'u_int16_t'
./ArgusSource.h:99:40: error: unknown type name 'u_int32_t'
./ArgusSource.h:100:40: error: unknown type name 'u_int64_t'
*** Error code 1
make: Fatal error: Command failed for target `argus.o'
Current working directory /var/tmp/argus-3.0.4/argus
### Done with /var/tmp/argus-3.0.4/argus
### Making in /var/tmp/argus-3.0.4/events
### Done with /var/tmp/argus-3.0.4/events

After a little googling I see that "u_intX_t" should actually be "uintX_t", as defined in /usr/include/sys/types.h.

Configure seems to check for "uintX_t", so why is the code using the older definitions?

Regards,

--
Neal Welland, Information Security Analyst. War-CSIIRT<http://www.first.org/members/teams/war-csiirt>
University of Warwick, IT Services, Coventry CV4 8UW, UK
E: n.welland at warwick.ac.uk<mailto:n.welland at warwick.ac.uk> M: 07880 175391
PGP keys available: http://keys.warwick.ac.uk<http://keys.warwick.ac.uk/>


* Carter Bullard <carter at qosient.com<mailto:carter at qosient.com>>
* Issuer: "VeriSign - Unverified

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130121/c4eb92dd/attachment.html>


More information about the argus mailing list