Snort mailing list archives

Solaris 9 and Snort: Problems & Solutions


From: <baranowb () op pl>
Date: Mon, 23 Aug 2004 17:28:52 +0200

I had few problems when I tried to compile Snort 2.1.0 on Solaris 9. Because I had hard time finding solutions one by 
one I thought that I will post them together so no one will have to look for them separately.

1. 
bash-2.05# make
make: Fatal error in reader: Makefile, line 484: Unexpected end of line seen

Makefile ends on line 489: 

SOLUTION: Use GNU make  ;] It couldn't be simpler.

2.

 In file included from util_net.c:16: 
        util_net.h:14:20: stdint.h: No such file or directory 
        make[3]: *** [util_net.o] Error 1 
        make[3]: Leaving directory `/home/subrama/sdi/snort-2.1.0/src/sfutil' 
        make[2]: *** [all-recursive] Error 1 
        make[2]: Leaving directory `/home/subrama/sdi/snort-2.1.0/src' 
        make[1]: *** [all-recursive] Error 1 
        make[1]: Leaving directory `/home/subrama/sdi/snort-2.1.0' 
        make: *** [all] Error 2

SOLUTION: Solaris doesn't have/use these file. There are few solutions that I am aware of:
In files:
src/sfutil/util_net.h
src/preprocessors/flow/flow.h
src/preprocessors/flow/portscan/flowps.h
src/event_wrapper.h
src/preprocessors/flow/flow_stat.h

change line :  #include <stdint.h> to either :  #include <sys/int_types.h> ( or just inttypes.h instead of 
sys/int_types.h ) or 
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif

If those two doesn't work just copy inttypes.t to stdint.h ( it worked for me, but other two should work fine )
 3.
gcc  -g -O2 -Wall   -o snort  codes.o debug.o decode.o log.o mstring.o parser.o plugbase.o snort.o snprintf.o 
strlcatu.o strlcpyu.o tag.o ubi_BinTree.o ubi_SplayTree.o util.o detect.o signature.o mempool.o sf_sdlist.o fpcreate.o 
fpdetect.o pcrm.o byte_extract.o sfthreshold.o packet_time.o event_wrapper.o output-plugins/libspo.a 
detection-plugins/libspd.a preprocessors/libspp.a preprocessors/flow/portscan/libportscan.a 
preprocessors/flow/int-snort/libintsnort.a preprocessors/flow/libflow.a parser/libparser.a 
preprocessors/HttpInspect/libhttp_inspect.a sfutil/libsfutil.a -lpcre -lpcap -lm -lsocket -lnsl
Undefined                       first referenced
 symbol                             in file
inet_aton                           sfutil/libsfutil.a(ipobj.o)
ld: fatal: Symbol referencing errors. No output written to snort
collect2: ld returned 1 exit status
make[3]: *** [snort] Error 1
make[3]: Leaving directory `/data/roboczy/snort-2.1.0/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/data/roboczy/snort-2.1.0/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/data/roboczy/snort-2.1.0'
make: *** [all] Error 2

SOLUTION: in configure script add line after INCLUDES ( which is line number 7401, as You can see below )
This line should look like this one numbered 7402



7401  INCLUDES='-I$(top_srcdir) -I$(top_srcdir)/src -I$(top_srcdir)/src/sfutil $(extra_incl) 
-I$(top_srcdir)/src/output-plug
ins -I$(top_srcdir)/src/detection-plugins -I$(top_srcdir)/src/preprocessors -I$(top_srcdir)/src/preprocessors/flow 
-I$(top_src
dir)/src/preprocessors/portscan  -I$(top_srcdir)/src/preprocessors/flow/int-snort  
-I$(top_srcdir)/src/preprocessors/HttpInspe
ct/include'
 7402  LIBS="$LIBS -lresolv"

Current thread: