argus-3.0.0.rc.1 FreeBSD compile problems

Carter Bullard carter at qosient.com
Wed Jun 7 14:11:38 EDT 2006


Hey Robin,
So, FreeBSD doesn't have byteswap.h nor does it support bswap_64?
Hmmm, disappointing.   So try this just to see if we can get it to  
compile.
You'll have to make this type of patch to the clients as well.

Apply this patch to argus_util.c
*** ./argus_util.c   2006-06-07 14:26:49.000000000 -0400
--- ./argus_util.c    2006-06-07 14:25:43.000000000 -0400
***************
*** 129,134 ****
--- 129,144 ----
   void ArgusPrintHex (const u_char *, u_int);

   #if defined(_LITTLE_ENDIAN)
+ #if defined(__FreeBSD__)
+ #include <extract.h>
+ #if !defined(ntohll)
+ #define ntohll(x) EXTRACT_64(&x)
+ #define htonll(x) EXTRACT_64(&x)
+ #else
+ #define ntohll(x) x
+ #define htonll(x) x
+ #endif
+ #else
   #include <byteswap.h>
   #if !defined(ntohll)
   #define ntohll(x) bswap_64(x)
***************
*** 138,143 ****
--- 148,154 ----
   #define htonll(x) x
   #endif
   #endif
+ #endif

   void ArgusNtoH (struct ArgusRecord *);
   void ArgusHtoN (struct ArgusRecord *);

Carter


On Jun 7, 2006, at 1:50 PM, Robin Gruyters wrote:

> Hello,
>
> Just trying to build argus-3.3.0.rc.1 and got the following error:
>
> [...]
> ### Making in /tmp/argus-3.0.0.rc.1/common
> gcc -O3 -I. -I/usr/include  -I./../include -DPACKAGE_NAME=\"\" - 
> DPACKAGE_TARNAME
> =\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" - 
> DPACKAGE_BUGREPORT=\"\" -DST
> DC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 - 
> DHAVE_STDLIB_H=1 -DHAVE_S
> TRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 - 
> DHAVE_STDINT
> _H=1 -DHAVE_UNISTD_H=1 -DHAVE_TCP_WRAPPER=1 -DHAVE_SYS_SOCKIO_H=1 - 
> DHAVE_STRING_
> H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_FILE_H=1 -DHAVE_SYSLOG_H=1 - 
> DHAVE_ETHER_HOSTTON=
> 1 -DHAVE_STRERROR=1 -DCONFIG_X86_BSWAP=1 -DSTDC_HEADERS=1  - 
> DARGUS_SYSLOG=1 -c a
> rgus_util.c
> argus_util.c:132:22: byteswap.h: No such file or directory
> [...]
>
> When I edit the ./common/argus_util.c and comment out the  
> byteswap.h entry then I continues to build but at the end I get the  
> following error:
>
> [...]
> ### Making in /tmp/argus-3.0.0.rc.1/argus
> gcc -O3 -I. -I/usr/include  -I./../include -DPACKAGE_NAME=\"\" - 
> DPACKAGE_TARNAME
> =\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" - 
> DPACKAGE_BUGREPORT=\"\" -DST
> DC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 - 
> DHAVE_STDLIB_H=1 -DHAVE_S
> TRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 - 
> DHAVE_STDINT
> _H=1 -DHAVE_UNISTD_H=1 -DHAVE_TCP_WRAPPER=1 -DHAVE_SYS_SOCKIO_H=1 - 
> DHAVE_STRING_
> H=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_FILE_H=1 -DHAVE_SYSLOG_H=1 - 
> DHAVE_ETHER_HOSTTON=
> 1 -DHAVE_STRERROR=1 -DCONFIG_X86_BSWAP=1 -DSTDC_HEADERS=1 -o ../bin/ 
> argus argus.
> o ArgusModeler.o ArgusSource.o ArgusUtil.o ArgusOutput.o ArgusUdp.o  
> ArgusTcp.o A
> rgusIcmp.o ArgusIgmp.o ArgusEsp.o ArgusArp.o ArgusFrag.o ArgusApp.o  
> -lwrap  -lpc
> ap  ../lib/argus_common.a -lm
> ../lib/argus_common.a(argus_util.o)(.text+0x151): In function  
> `ArgusNtoH':
> : undefined reference to `bswap_64'
> ../lib/argus_common.a(argus_util.o)(.text+0x16f): In function  
> `ArgusNtoH':
> : undefined reference to `bswap_64'
> ../lib/argus_common.a(argus_util.o)(.text+0x18d): In function  
> `ArgusNtoH':
> : undefined reference to `bswap_64'
> ../lib/argus_common.a(argus_util.o)(.text+0xc48): In function  
> `ArgusHtoN':
> : undefined reference to `bswap_64'
> ../lib/argus_common.a(argus_util.o)(.text+0xc66): In function  
> `ArgusHtoN':
> : undefined reference to `bswap_64'
> ../lib/argus_common.a(argus_util.o)(.text+0xc84): more undefined  
> references to `
> bswap_64' follow
> *** Error code 1
>
> Stop in /tmp/argus-3.0.0.rc.1/argus.
> ### Done with /tmp/argus-3.0.0.rc.1/argus
> [...]
>
> I'm compiling argus-3.0 on a FreeBSD 5.4-RELEASE-p11 system. For  
> full build detail, check the build log. (see attachment)
>
> Regards,
>
> Robin
>
> Quoting Carter Bullard <carter at qosient.com>:
>
>> Gentle people,
>>     I did get some time to go through the code, and as a result
>> I've deposited argus-3.0.0.rc.1 and argus-clients-3.0.0.rc.1 in
>> ftp://ftp.qosient.com/dev/argus-3.0.
>>
>>    What needs to be done?   We need to just do the basics,
>> install, run, validate the basics, and run through the
>> man pages to see what needs to updated, corrected, whatever.
>> The supporting files should be up to date, such as configurations,
>> etc, but argus-3.0 is not compatible with argus-2.0, so you will
>> have to change some things to get it going.
>>
>>    Hopefully we can capture the changes and what needs to
>> be done to get things going.
>>
>>    argus-3.0.0 should compile fine on all platforms, but I am
>> having some trouble with CYGWIN, so lets get to the CYGWIN
>> port in a couple of weeks.   If anyone wants to wade through
>> it, I can assist.
>>
>>    Also, the sasl code needs to be redone, as I think it is broken.
>>
>>    ragraph() should work, although the rrd_tools effort may
>> have broken some of the label formatting directives that I
>> got into earlier versions of rrd_tool.   If someone could do
>> some graphing that would be great!!!!!
>>
>> Thanks for all the support and patience, and I hope that this
>> software is useful for you.
>>
>> Carter
>
> <argus-3.0.0-rc1_build.log>




More information about the argus mailing list