Building and Running Argus-3.0.0 on Cygwin

Carter Bullard carter at qosient.com
Mon Mar 24 09:10:16 EDT 2008


Hey Jason,
Sorry for the delayed response!!!!  I'll look into your compile  
problems.
Just a few notes.   I have an "USE_IPV6" in ./include/compat.h.  Must
not be picking that up.

For the xdr library issues, the name librpclib is not standard, so  
thats why
we didn't pick up the definitions.  The way to get these routines  
compiled
into a program, is to add:
    -lrpclib

to the linking step of the compile.  Its usually the last thing that a  
Makefile
will do.  if the librpclib.a file is in some wierd place, you may need  
to add:
    -L/path/to/libprclib

For the compiler to search the directory to find it.

I still have no idea what the issue is with the dying in the cygwin  
routine.
It could be that there are stack size issues?  I changed the size of a  
lot of
arrays, and that didn't change anything, did a lot with a lot of  
things with
no effect.  Then one day it ran fine, and I didn't want to know what
happened.  I suspected Cygwin?

Carter


On Mar 9, 2008, at 7:01 PM, Jason Baekey wrote:

> Hello,
>   I have had many of the issues that have already been reported in  
> the group concerning building and running the Argus 3.0.0 server on  
> Cygwin, but I cannot seem to resolve them as many others have.  I'm  
> using the most current version of Cygwin on XP SP2 for these tests.   
> I'll list the issues below:
>
> 1)  Problem with IPv6 support
>
> It appears that the in.h requires USE_IPV6 to be defined but it is  
> not by default.  The this results in the following output when  
> attempting make in the common directory:
>
> gcc -O3 -I. -I../../WpdPack/Include -I../include/cygwin-include - 
> I./../include  -I./../argus -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME= 
> \"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" - 
> DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 - 
> DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 - 
> DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 - 
> DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 - 
> DHAVE_FCNTL_H=1 -DHAVE_SYS_FILE_H=1 -DHAVE_SYSLOG_H=1 - 
> DHAVE_SYS_VFS_H=1 -DHAVE_VFPRINTF=1 -DHAVE_STRCASECMP=1 - 
> DHAVE_STRLCAT=1 -DHAVE_STRLCPY=1 -DHAVE_STRDUP=1 -DHAVE_STRFTIME=1 - 
> DHAVE_SETLINEBUF=1 -DHAVE_ALARM=1 -DHAVE_STRERROR=1 -DHAVE_STRTOF=1 - 
> DHAVE_FLOORF=1 -DHAVE_REMAINDERF=1 -DHAVE_INTTYPES_H=1 - 
> DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DLBL_ALIGN=1 - 
> DCONFIG_X86_BSWAP=1 -DCYGWIN=1 -DSTDC_HEADERS=1 -DARGUS_SYSLOG=1 -c  
> argus_util.c
> In file included from ./../include/argus_os.h:99,
>                  from argus_util.c:46:
> ../include/cygwin-include/netinet/icmp6.h:150: error: field  
> `nd_ns_target' has incomplete type
> ../include/cygwin-include/netinet/icmp6.h:162: error: field  
> `nd_na_target' has incomplete type
> ../include/cygwin-include/netinet/icmp6.h:183: error: field  
> `nd_rd_target' has incomplete type
> ../include/cygwin-include/netinet/icmp6.h:184: error: field  
> `nd_rd_dst' has incomplete type
> ../include/cygwin-include/netinet/icmp6.h:217: error: field  
> `nd_opt_pi_prefix' has incomplete type
> In file included from argus_util.c:48:
> ./../include/argus_parser.h:55: error: field `addr' has incomplete  
> type
> In file included from ./../argus/ArgusModeler.h:164,
>                  from argus_util.c:50:
> ../include/cygwin-include/netinet/ip6.h:45: error: field `ip6_src'  
> has incomplete type
> ../include/cygwin-include/netinet/ip6.h:46: error: field `ip6_dst'  
> has incomplete type
> ../include/cygwin-include/netinet/ip6.h:91: error: field  
> `ip6r0_addr' has incomplete type
> make: *** [argus_util.o] Error 1
>
> Adding this definition resolves this problem.
>
> 2) XDR Functions
>
> Once the IPv6 problem is resolved there are further issues with the  
> what I believe is the rpc library resulting in the following output  
> from make:
>
> ### Making in /home/admin/argus-3.0.0/common
> make[1]: Entering directory `/home/admin/argus-3.0.0/common'
> make[1]: Nothing to be done for `all'.
> make[1]: Leaving directory `/home/admin/argus-3.0.0/common'
> ### Done with /home/admin/argus-3.0.0/common
> ### Making in /home/admin/argus-3.0.0/argus
> make[1]: Entering directory `/home/admin/argus-3.0.0/argus'
> gcc -O3 -I. -I../../WpdPack/Include -I../include/cygwin-include - 
> I./../include  -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" - 
> DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"  
> -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 - 
> DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 - 
> DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 - 
> DHAVE_UNISTD_H=1 -DHAVE_STRING_H=1 -DHAVE_FCNTL_H=1 - 
> DHAVE_SYS_FILE_H=1 -DHAVE_SYSLOG_H=1 -DHAVE_SYS_VFS_H=1 - 
> DHAVE_VFPRINTF=1 -DHAVE_STRCASECMP=1 -DHAVE_STRLCAT=1 - 
> DHAVE_STRLCPY=1 -DHAVE_STRDUP=1 -DHAVE_STRFTIME=1 - 
> DHAVE_SETLINEBUF=1 -DHAVE_ALARM=1 -DHAVE_STRERROR=1 -DHAVE_STRTOF=1 - 
> DHAVE_FLOORF=1 -DHAVE_REMAINDERF=1 -DHAVE_INTTYPES_H=1 - 
> DHAVE_VSNPRINTF=1 -DHAVE_SNPRINTF=1 -DLBL_ALIGN=1 - 
> DCONFIG_X86_BSWAP=1 -DCYGWIN=1 -DSTDC_HEADERS=1 -DARGUS_SYSLOG=1 - 
> o ../bin/argus argus.o ArgusModeler.o ArgusSource.o ArgusUtil.o  
> ArgusOutput.o ArgusUdp.o ArgusTcp.o ArgusIcmp.o ArgusIgmp.o  
> ArgusEsp.o ArgusArp.o ArgusFrag.o ArgusAuth.o ArgusApp.o  ../lib/ 
> libpcap.a   ../lib/argus_common.a -lm
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x4eb):  
> undefined reference to `_xdrmem_create'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x4fa):  
> undefined reference to `_xdr_int'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x50c):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x51e):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x530):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x545):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x1090):  
> undefined reference to `_xdrmem_create'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x109f):  
> undefined reference to `_xdr_int'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x10b1):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x10c3):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x10d5):  
> undefined reference to `_xdr_float'
> ../lib/argus_common.a(argus_util.o):argus_util.c:(.text+0x10e7):  
> undefined reference to `_xdr_float'
> Info: resolving _optind by linking to __imp__optind (auto-import)
> Info: resolving _opterr by linking to __imp__opterr (auto-import)
> Info: resolving _optarg by linking to __imp__optarg (auto-import)
> collect2: ld returned 1 exit status
> make[1]: *** [../bin/argus] Error 1
> make[1]: Leaving directory `/home/admin/argus-3.0.0/argus'
> ### Done with /home/admin/argus-3.0.0/argus
>
> I am a novice at resolving these issues cleanly.  I was able to  
> extract the object files from the librpclib.a file and include them  
> in the argus_common.a which truly seems like an overkill.
>
> 3)  Running argus
>
> Once these hurdles were overcome, I was able to run a "make install"  
> and attempted to launch argus but it immediately returned to the  
> prompt without listing interfaces.  This was the exact situation  
> described by a previous post.  It failed in the init_console_handler  
> function which is a native Cygwin function.
>
> I'm including the output from configure in the the hopes that it  
> will be of some assistance:
> $ ./configure
> checking build system type... i686-pc-cygwin
> checking host system type... i686-pc-cygwin
> checking target system type... i686-pc-cygwin
> checking for gcc... gcc
> checking for C compiler default output file name... a.exe
> checking whether the C compiler works... yes
> checking whether we are cross compiling... no
> checking for suffix of executables... .exe
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether gcc accepts -g... yes
> checking for gcc option to accept ISO C89... none needed
> checking gcc version... 3
> checking for inline... inline
> checking for gcc... (cached) gcc
> checking whether we are using the GNU C compiler... (cached) yes
> checking whether gcc accepts -g... (cached) yes
> checking for gcc option to accept ISO C89... (cached) none needed
> checking how to run the C preprocessor... gcc -E
> checking whether make sets $(MAKE)... yes
> checking for ranlib... ranlib
> checking for grep that handles long lines and -e... /usr/bin/grep
> checking for egrep... /usr/bin/grep -E
> checking for ANSI C header files... yes
> checking for sys/types.h... yes
> checking for sys/stat.h... yes
> checking for stdlib.h... yes
> checking for string.h... yes
> checking for memory.h... yes
> checking for strings.h... yes
> checking for inttypes.h... yes
> checking for stdint.h... yes
> checking for unistd.h... yes
> checking sys/sockio.h usability... no
> checking sys/sockio.h presence... no
> checking for sys/sockio.h... no
> checking for string.h... (cached) yes
> checking fcntl.h usability... yes
> checking fcntl.h presence... yes
> checking for fcntl.h... yes
> checking sys/file.h usability... yes
> checking sys/file.h presence... yes
> checking for sys/file.h... yes
> checking syslog.h usability... yes
> checking syslog.h presence... yes
> checking for syslog.h... yes
> checking sys/vfs.h usability... yes
> checking sys/vfs.h presence... yes
> checking for sys/vfs.h... yes
> checking for vfprintf... yes
> checking for strcasecmp... yes
> checking for strlcat... yes
> checking for strlcpy... yes
> checking for strdup... yes
> checking for strftime... yes
> checking for setlinebuf... yes
> checking for alarm... yes
> checking for strerror... yes
> checking for strtof... yes
> checking for floorf... yes
> checking for remainderf... yes
> checking sys/bitypes.h usability... no
> checking sys/bitypes.h presence... no
> checking for sys/bitypes.h... no
> checking for int8_t... yes
> checking for u_int8_t... yes
> checking for int16_t... yes
> checking for u_int16_t... yes
> checking for int32_t... yes
> checking for u_int32_t... yes
> checking for int64_t... yes
> checking for u_int64_t... yes
> checking for inttypes.h... (cached) yes
> checking whether inttypes.h defines the PRI[doxu]64 macros... yes
> checking for vsnprintf... yes
> checking for snprintf... yes
> checking for getaddrinfo... no
> checking for library containing gethostbyname... none required
> checking for library containing socket... none required
> checking for library containing putmsg... no
> checking for ether_hostton... no
> checking for special C compiler options needed for large files... no
> checking for _FILE_OFFSET_BITS value needed for large files... no
> checking for local pcap library... not found
> checking for main in -lpcap... no
> checking for local wpcap library... checking for extraneous pcap  
> header directories... found -- -I../WpdPack/Include added
> checking for pcap_list_datalinks... no
> checking for pcap_set_datalink... no
> checking for pcap_datalink_name_to_val... no
> checking for pcap_breakloop... no
> checking for pcap_dump_ftell... no
> checking for local tcp_wrappers library... not found
> checking for system tcp_wrappers library... no
> configure: WARNING: tcp_wrapper not found
> checking for flex... flex
> checking for flex 2.4 or higher... yes
> checking for bison... bison
> checking for ranlib... ranlib
> checking if unaligned accesses fail... yes
> checking for a BSD-compatible install... /usr/bin/install -c
> checking for ANSI C header files... (cached) yes
> configure: creating ./config.status
> config.status: creating Makefile
> config.status: creating ./common/Makefile
> config.status: creating ./argus/Makefile
>
> I appreciate any assistance or guidance anyone can give.  Thanks  
> ahead of time for the help.
>
> Jason
> Climb to the top of the charts! Play the word scramble challenge  
> with star power. Play now!

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


More information about the argus mailing list