Unable to Compile Argus on Solaris 10

Carter Bullard carter at qosient.com
Mon Jan 21 12:48:26 EST 2013


byteswap.h is used to define ntohll() for little endian machines.
Try this type of patch to see how far you get (line numbers may not be correct).

diff ArgusSource.c ArgusSource.c.orig
1470d1469
< #if !defined(HAVE_SOLARIS)
1475d1473
< #endif

The idea of the patch is to cover the include and definition of ntohll() in an #ifdef for not solaris.
Carter

On Jan 21, 2013, at 11:50 AM, "Welland, Neal" <N.Welland at warwick.ac.uk> wrote:

> 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 fromhttp://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> 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
> University of Warwick, IT Services, Coventry CV4 8UW, UK
> E: n.welland at warwick.ac.uk M: 07880 175391
> PGP keys available: http://keys.warwick.ac.uk
>  
>  
> * Carter Bullard <carter at qosient.com>
> * Issuer: "VeriSign - Unverified
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130121/fe98d086/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2589 bytes
Desc: not available
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20130121/fe98d086/attachment.bin>


More information about the argus mailing list