[Oisf-devel] suricata on solaris?

Will Metcalf william.metcalf at gmail.com
Tue May 25 15:49:49 EDT 2010


Ok we are working on a release atm.  Hopefully after the release we
can get Solaris support added.

Regards,

Will

On Tue, May 25, 2010 at 2:45 PM, Luis <luis.mlists at gmail.com> wrote:
> got a little bit farther that time..
>
> now it the error is as follows (sigh)..
>
>
> bash-3.00$ make
> make  all-recursive
> Making all in libhtp
> make  all-recursive
> Making all in htp
> Making all in test
> Making all in src
> gcc -DHAVE_CONFIG_H -I. -I..  -I../libhtp   -I/opt/PP2K/include
> -I/opt/PP2K/include -I/opt/PP2K/include -I/opt/PP2K/include
> -mcpu=ultrasparc -W -Wall -fno-strict-aliasing -Wno-unused-parameter
> -DOS_SOLARIS -DHAVE_LIBNET11 -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD
> -DHAVE_NET_ETHERNET_H   -DLIBPCAP_VERSION_MAJOR=1 -MT tm-threads.o -MD -MP
> -MF .deps/tm-threads.Tpo -c -o tm-threads.o tm-threads.c
> tm-threads.c: In function `SetCPUAffinity':
> tm-threads.c:657: error: `cpu_set_t' undeclared (first use in this function)
> tm-threads.c:657: error: (Each undeclared identifier is reported only once
> tm-threads.c:657: error: for each function it appears in.)
> tm-threads.c:657: error: syntax error before "cs"
> tm-threads.c:659: warning: implicit declaration of function `CPU_ZERO'
> tm-threads.c:659: error: `cs' undeclared (first use in this function)
> tm-threads.c:660: warning: implicit declaration of function `CPU_SET'
> tm-threads.c:672: error: too few arguments to function `processor_bind'
> *** Error code 1
> make: Fatal error: Command failed for target `tm-threads.o'
> Current working directory
> /export/home/lcatacor/src/suricata/suricata-0.9.0/src
> *** Error code 1
> The following command caused the error:
> fail= failcom='exit 1'; \
> for f in x $MAKEFLAGS; do \
>   case $f in \
>     *=* | --[!k]*);; \
>     *k*) failcom='fail=yes';; \
>   esac; \
> done; \
> dot_seen=no; \
> target=`echo all-recursive | sed s/-recursive//`; \
> list='libhtp src'; for subdir in $list; do \
>   echo "Making $target in $subdir"; \
>   if test "$subdir" = "."; then \
>     dot_seen=yes; \
>     local_target="$target-am"; \
>   else \
>     local_target="$target"; \
>   fi; \
>   (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
>   || eval $failcom; \
> done; \
> if test "$dot_seen" = "no"; then \
>   make  "$target-am" || exit 1; \
> fi; test -z "$fail"
> make: Fatal error: Command failed for target `all-recursive'
> Current working directory /export/home/lcatacor/src/suricata/suricata-0.9.0
> *** Error code 1
> make: Fatal error: Command failed for target `all'
>
>
> Luis
>
>
> On Tue, May 25, 2010 at 8:51 AM, Will Metcalf <william.metcalf at gmail.com>
> wrote:
>>
>> in src/threads.h change the macro around to look like this.  See if it
>> works after that.
>>
>> Regards,
>>
>> Will
>>
>> /*
>>  * OS specific macro's for setting the thread name. "top" can display
>>  * this name.
>>  */
>> #ifndef PR_SET_NAME /*PR_SET_NAME */
>> #define SCSetThreadName(n)
>> #elif OS_FREEBSD /* FreeBSD */
>> /** \todo Add implementation for FreeBSD */
>> #define SCSetThreadName(n)
>> #elif OS_WIN32 /* Windows */
>> /** \todo Add implementation for Windows */
>> #define SCSetThreadName(n)
>> #elif OS_DARWIN /* Mac OS X */
>> /** \todo Add implementation for MacOS */
>> #define SCSetThreadName(n)
>> #elif OS_SOLARIS
>> #define SCSetThreadName(n)
>> #else /* Linux */
>>
>>
>> On Mon, May 24, 2010 at 10:48 AM, Luis <luis.mlists at gmail.com> wrote:
>> > Hi:
>> >
>> > Thanks for answering..
>> >
>> > made the modifications to configure.in, and the mentioned source files..
>> > (using DOS_SOLARIS)
>> >
>> >
>> > however, I'm running into the following now..
>> >
>> > bash-3.00$ make
>> > make  all-recursive
>> > Making all in libhtp
>> > make  all-recursive
>> > Making all in htp
>> > Making all in test
>> > Making all in src
>> > gcc -DHAVE_CONFIG_H -I. -I..  -I../libhtp   -I/opt/PP2K/include
>> > -I/opt/PP2K/include -I/opt/PP2K/include -I/opt/PP2K/include
>> > -mcpu=ultrasparc -W -Wall -fno-strict-aliasing -Wno-unused-parameter
>> > -DOS_SOLARIS -DHAVE_LIBNET11 -D_BSD_SOURCE -D__BSD_SOURCE -D__FAVOR_BSD
>> > -DHAVE_NET_ETHERNET_H   -DLIBPCAP_VERSION_MAJOR=1 -MT flow.o -MD -MP -MF
>> > .deps/flow.Tpo -c -o flow.o flow.c
>> > flow.c: In function `FlowManagerThread':
>> > flow.c:666: error: `THREAD_NAME_LEN' undeclared (first use in this
>> > function)
>> > flow.c:666: error: (Each undeclared identifier is reported only once
>> > flow.c:666: error: for each function it appears in.)
>> > flow.c:666: warning: implicit declaration of function `prctl'
>> > flow.c:666: error: `PR_SET_NAME' undeclared (first use in this function)
>> > flow.c:666: warning: unused variable `tname'
>> > *** Error code 1
>> > make: Fatal error: Command failed for target `flow.o'
>> > Current working directory
>> > /export/home/lcatacor/src/suricata/suricata-0.9.0/src
>> > *** Error code 1
>> > The following command caused the error:
>> > fail= failcom='exit 1'; \
>> > for f in x $MAKEFLAGS; do \
>> >   case $f in \
>> >     *=* | --[!k]*);; \
>> >     *k*) failcom='fail=yes';; \
>> >   esac; \
>> > done; \
>> > dot_seen=no; \
>> > target=`echo all-recursive | sed s/-recursive//`; \
>> > list='libhtp src'; for subdir in $list; do \
>> >   echo "Making $target in $subdir"; \
>> >   if test "$subdir" = "."; then \
>> >     dot_seen=yes; \
>> >     local_target="$target-am"; \
>> >   else \
>> >     local_target="$target"; \
>> >   fi; \
>> >   (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target) \
>> >   || eval $failcom; \
>> > done; \
>> > if test "$dot_seen" = "no"; then \
>> >   make  "$target-am" || exit 1; \
>> > fi; test -z "$fail"
>> > make: Fatal error: Command failed for target `all-recursive'
>> > Current working directory
>> > /export/home/lcatacor/src/suricata/suricata-0.9.0
>> > *** Error code 1
>> > make: Fatal error: Command failed for target `all'
>> >
>> >
>> >
>> >
>> > did I miss something?
>> >
>> >
>> > Thanks
>> >
>> >
>> > Luis
>> >
>> >
>> >
>> >
>> > On Sat, May 22, 2010 at 5:28 AM, Victor Julien <victor at inliniac.net>
>> > wrote:
>> >>
>> >> -----BEGIN PGP SIGNED MESSAGE-----
>> >> Hash: SHA1
>> >>
>> >> Thank you Yoa-Min. One remark: in recent Suricata libnet is no longer
>> >> required.
>> >>
>> >> Cheers,
>> >> Victor
>> >>
>> >> Yao-Min Chen wrote:
>> >> > The following info is dated back in Feb. So perhaps it is outdated.
>> >> >  The
>> >> > work was based on Solaris 10, but should also work with OpenSolaris.
>> >> > Feel free to let me know any question.
>> >> >
>> >> >
>> >> >       LIBNET
>> >> >
>> >> >     * Suricata requires libnet-1.1.x.so; the package available at
>> >> >       www.sunfreeware.com has libnet.a only.
>> >> >     * Instead, download libnet tarball from www.sunfreeware.com
>> >> >     * /usr/sfw/bin/gtar xzf libnet-1.1.2.1.tar.gz
>> >> >     * Get the patch files from D.Mehra's OpenSolaris package and
>> >> > build
>> >> >
>> >> > wget
>> >> >
>> >> > http://cr.opensolaris.org/~dmehra/libnet/raw_files/new/usr/src/lib/libnet/libnet_link_dlpi.c.patch
>> >> > wget
>> >> >
>> >> > http://cr.opensolaris.org/~dmehra/libnet/raw_files/new/usr/src/lib/libnet/makefile.am.patch
>> >> > wget
>> >> >
>> >> > http://cr.opensolaris.org/~dmehra/libnet/raw_files/new/usr/src/lib/libnet/makefile.in.patch
>> >> > patch -b -d src libnet_link_dlpi.c < libnet_link_dlpi.c.patch
>> >> > patch -b -d src Makefile.am < makefile.am.patch
>> >> > patch -b -p1 -d src Makefile.in < makefile.in.patch
>> >> >
>> >> > export CFLAGS="-g -fPIC"
>> >> > export PATH=/opt/gccfss/bin:$PATH
>> >> > ./configure
>> >> > gmake
>> >> > gmake install
>> >> >
>> >> >
>> >> >       Modify configure.in and configure to add a new OS label SUNOS
>> >> >
>> >> >     case "$host" in
>> >> >             *-*-*freebsd*)
>> >> >                     CFLAGS="${CFLAGS} -DOS_FREEBSD"
>> >> >                     CPPFLAGS="${CPPFLAGS} -I/usr/local/include
>> >> > -I/usr/local/include/libnet11"
>> >> >                     LDFLAGS="${LDFLAGS} -L/usr/local/lib
>> >> > -L/usr/local/lib/libnet11"
>> >> >                     ;;
>> >> >            *darwin*|*Darwin*)
>> >> >                     CFLAGS="${CFLAGS} -DOS_DARWIN"
>> >> >                     CPPFLAGS="${CPPFLAGS} -I/opt/local/include"
>> >> >                     LDFLAGS="${LDFLAGS} -L/opt/local/lib"
>> >> >                     ;;
>> >> >            *SunOS*)
>> >> >                     CFLAGS="${CFLAGS} -DOS_SUNOS"
>> >> >                     CPPLAGS="${CPPFLAGS} -I/usr/sfw/include"
>> >> >                     LDFLAGS="${LDFLAGS} -L/usr/sfw/lib"
>> >> >                     ;;
>> >> >            *-*-linux*)
>> >> >                     #for now do nothing
>> >> >                     ;;
>> >> >            *)
>> >> >
>> >> >
>> >> >       Modify src
>> >> >
>> >> >     * cd ./src
>> >> >     * source-pcap-file.c: replace u_int8_t with uint8_t as u_int8_t
>> >> > is
>> >> >       only defined in linux kernel header file, not POSIX standard
>> >> >     * util-debug.c: #define LOG_AUTHPRIV to LOG_AUTH and LOG_FTP to
>> >> >       LOG_DAEMON since there is neither LOG_AUTHPRIV nor LOG_FTP in
>> >> > Solaris
>> >> >     * stream-tcp.c: same as previous item, replace u_int8_t with
>> >> > uint8_t
>> >> >       as u_int8_t
>> >> >     * suricata-common.h: include <strings.h> to pick up definition of
>> >> >       index()
>> >> >     * tm-threads.c: replace syscall(SYS_gettid) with pthread_self();
>> >> >       replace sched_setaffinity() with processor_bind()
>> >> >     * util-debug.c: replace syscall(SYS_gettid) with pthread_self()
>> >> >     * util-debug-filters.c: replace syscall(SYS_gettid) with
>> >> > pthread_self()
>> >> >     * stream-tcp-reassemble.h: replace u_int8_t with uint8_t
>> >> >     * util-daemon.c: include <signal.h>
>> >> >
>> >> >
>> >> >
>> >> > On 05/21/10 09:35 AM, Will Metcalf wrote:
>> >> >> We don't currently have any Solaris boxes setup for testing,
>> >> >> probably
>> >> >> something we should look into ;-). Yao-Min, can you offer Lui any
>> >> >> assistance?
>> >> >>
>> >> >> Regards,
>> >> >>
>> >> >> Will
>> >> >>
>> >> >> On Fri, May 21, 2010 at 11:29 AM, Lui Cat <luis.mlists at gmail.com>
>> >> >> wrote:
>> >> >>
>> >> >>> hello there;
>> >> >>>
>> >> >>> don't know if this is the right forum to ask this question, but I
>> >> >>> was
>> >> >>> wondering if anyone has attempted to compile suricata on solaris
>> >> >>> (sparc or
>> >> >>> x86)..
>> >> >>> ?
>> >> >>>
>> >> >>> I'm currently stuck at the following:
>> >> >>>
>> >> >>> bash-3.00$ make
>> >> >>> make  all-recursive
>> >> >>> Making all in libhtp
>> >> >>> make  all-recursive
>> >> >>> Making all in htp
>> >> >>> Making all in test
>> >> >>> Making all in src
>> >> >>> gcc -DHAVE_CONFIG_H -I. -I..  -I../libhtp   -I/opt/PP2K/include
>> >> >>> -I/opt/PP2K/include -I/opt/PP2K/include -I/opt/PP2K/include
>> >> >>> -mcpu=ultrasparc -W -Wall -fno-strict-aliasing
>> >> >>> -Wno-unused-parameter
>> >> >>> -DOS_SOLARIS -DHAVE_LIBNET11 -D_BSD_SOURCE -D__BSD_SOURCE
>> >> >>> -D__FAVOR_BSD
>> >> >>> -DHAVE_NET_ETHERNET_H   -DLIBPCAP_VERSION_MAJOR=1 -MT
>> >> >>> source-pcap-file.o -MD
>> >> >>> -MP -MF .deps/source-pcap-file.Tpo -c -o source-pcap-file.o
>> >> >>> source-pcap-file.c
>> >> >>> source-pcap-file.c:51: error: syntax error before "u_int8_t"
>> >> >>> source-pcap-file.c: In function `ReceivePcapFileThreadInit':
>> >> >>> source-pcap-file.c:208: warning: assignment from incompatible
>> >> >>> pointer
>> >> >>> type
>> >> >>> source-pcap-file.c:211: warning: assignment from incompatible
>> >> >>> pointer
>> >> >>> type
>> >> >>> source-pcap-file.c:214: warning: assignment from incompatible
>> >> >>> pointer
>> >> >>> type
>> >> >>> source-pcap-file.c:217: warning: assignment from incompatible
>> >> >>> pointer
>> >> >>> type
>> >> >>> *** Error code 1
>> >> >>> make: Fatal error: Command failed for target `source-pcap-file.o'
>> >> >>> Current working directory
>> >> >>> /export/home/lcatacor/src/suricata/suricata-0.9.0/src
>> >> >>> *** Error code 1
>> >> >>> The following command caused the error:
>> >> >>> fail= failcom='exit 1'; \
>> >> >>> for f in x $MAKEFLAGS; do \
>> >> >>>   case $f in \
>> >> >>>     *=* | --[!k]*);; \
>> >> >>>     *k*) failcom='fail=yes';; \
>> >> >>>   esac; \
>> >> >>> done; \
>> >> >>> dot_seen=no; \
>> >> >>> target=`echo all-recursive | sed s/-recursive//`; \
>> >> >>> list='libhtp src'; for subdir in $list; do \
>> >> >>>   echo "Making $target in $subdir"; \
>> >> >>>   if test "$subdir" = "."; then \
>> >> >>>     dot_seen=yes; \
>> >> >>>     local_target="$target-am"; \
>> >> >>>   else \
>> >> >>>     local_target="$target"; \
>> >> >>>   fi; \
>> >> >>>   (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make  $local_target)
>> >> >>> \
>> >> >>>   || eval $failcom; \
>> >> >>> done; \
>> >> >>> if test "$dot_seen" = "no"; then \
>> >> >>>   make  "$target-am" || exit 1; \
>> >> >>> fi; test -z "$fail"
>> >> >>> make: Fatal error: Command failed for target `all-recursive'
>> >> >>> Current working directory
>> >> >>> /export/home/lcatacor/src/suricata/suricata-0.9.0
>> >> >>> *** Error code 1
>> >> >>> make: Fatal error: Command failed for target `all'
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> To get this far, had to change the configure script to add a
>> >> >>> *solaris*
>> >> >>> section to include a -DOS_SOLARIS and change the src/util-byte.h
>> >> >>> file
>> >> >>> to
>> >> >>> include sys/byteorder.h
>> >> >>>
>> >> >>>
>> >> >>> Any help would be appreciated
>> >> >>>
>> >> >>>
>> >> >>> Thanks
>> >> >>>
>> >> >>> Luis
>> >> >>>
>> >> >>>
>> >> >>> _______________________________________________
>> >> >>> Oisf-devel mailing list
>> >> >>> Oisf-devel at openinfosecfoundation.org
>> >> >>> http://lists.openinfosecfoundation.org/mailman/listinfo/oisf-devel
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >
>> >> >
>> >> >
>> >> > ------------------------------------------------------------------------
>> >> >
>> >> > _______________________________________________
>> >> > Oisf-devel mailing list
>> >> > Oisf-devel at openinfosecfoundation.org
>> >> > http://lists.openinfosecfoundation.org/mailman/listinfo/oisf-devel
>> >>
>> >>
>> >> - --
>> >> - ---------------------------------------------
>> >> Victor Julien
>> >> http://www.inliniac.net/
>> >> PGP: http://www.inliniac.net/victorjulien.asc
>> >> - ---------------------------------------------
>> >>
>> >> -----BEGIN PGP SIGNATURE-----
>> >> Version: GnuPG v1.4.9 (GNU/Linux)
>> >> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>> >>
>> >> iEYEARECAAYFAkv3o9UACgkQiSMBBAuniMeJMACdH6GKI5vIU3JYemsFmc1oPtua
>> >> 9sAAnimegiL8/nexsA82GN8qkJte/sFA
>> >> =yzEV
>> >> -----END PGP SIGNATURE-----
>> >
>> >
>
>


More information about the Oisf-devel mailing list