syslog-ng-3.1.2

Syslog-NG to ulepszony system zbierania i zarządzania logami systemowymi. Potrafi zbierać logi z różnych źródeł, przez udp i tcp i zapisywać je w różnych formatach i miejscach (pliki, bazy danych itp.).

Poniżej zapis sesji konfiguracji i kompilacji Syslog-ng 3.1.2 (wyższe wersje nie kompilują się przy użyciu Sun Studio, opisałem to wcześniej i polecam lekturę aby wiedzieć co należy doinstalować i poprawić). Skrypt, którego użyłem do kompilacji jest w załączeniu.


soft@wega:~/syslog-ng% ./drf_syslog-ng-3.1.2_conf 
cc: Sun C 5.10 SunOS_sparc 2009/06/03
usage: cc [ options] files.  Use 'cc -flags' for details
MANPATH=/usr/local/share/man:/usr/local/man:/usr/share/man
PATH=/usr/local/bin:/usr/bin:/opt/SUNWspro/bin:/usr/ccs/bin
CFLAGS=-fast
CPPFLAGS=-I/usr/local/include
CXXFLAGS=-fast
LDFLAGS=-L/usr/local/lib -R/usr/local/lib
=============================================
gmake clean [y|n] ?
n
=============================================
configure [y|n] ?
y
...
syslog-ng Open Source Edition 3.1.2 configured
 Compiler options:
  compiler                    : cc -xc99=all
  compiler options            : -fast -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include/eventlog      -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
  linker flags                : -L/usr/local/lib -R/usr/local/lib  -lpthread 
  prefix                      : /usr/local/syslog-ng-3.1.2
  linking mode                : dynamic
 Features:
  Sun STREAMS support         : yes
  Sun Door support            : yes
  Debug symbols               : no
  GCC profiling               : no
  Memtrace                    : no
  IPV6 support                : yes
  spoof-source support        : no
  tcp-wrapper support         : no
  SSL support                 : no
  SQL support                 : no
  Linux capability support    : no
  PCRE support                : no
  Env wrapper support         : no
=============================================

Przechodzimy do kompilacji:


gmake [y|n] ?
y
gmake  all-recursive
gmake[1]: Entering directory `/home/soft/syslog-ng/syslog-ng-3.1.2'
Making all in src
gmake[2]: Entering directory `/home/soft/syslog-ng/syslog-ng-3.1.2/src'
source='misc.c' object='misc.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
cc -xc99=all -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include/eventlog      -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -fast -c misc.c
source='utils.c' object='utils.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
cc -xc99=all -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include/eventlog      -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -fast -c utils.c
source='messages.c' object='messages.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
cc -xc99=all -DHAVE_CONFIG_H -I. -I..   -I/usr/local/include -I/usr/local/include/glib-2.0 -I/usr/local/lib/glib-2.0/include   -I/usr/local/include/eventlog      -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -fast -c messages.c
"nvtable.h", line 106: warning: zero or negative subscript
"nvtable.h", line 114: warning: zero or negative subscript
"nvtable.h", line 100: warning: anonymous union declaration
"nvtable.h", line 170: zero or negative subscript
"nvtable.h", line 171: zero or negative subscript
"nvtable.h", line 167: warning: anonymous union declaration
"logmsg.h", line 135: warning: anonymous struct declaration
cc: acomp failed for messages.c
gmake[2]: *** [messages.o] Error 1
gmake[2]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2'
gmake: *** [all] Error 2

W tej wersji również pojawia się błąd, o którym wspominałem w poprzednim opisie


"nvtable.h", line 170: zero or negative subscript
"nvtable.h", line 171: zero or negative subscript

Ale już wiem gdzie poprawić, tyle tylko, że plik nvtable.h znajduje się w src.


soft@wega:~/syslog-ng% cd syslog-ng-3.1.2
soft@wega:~/syslog-ng/syslog-ng-3.1.2% cp -a src/nvtable.h src/nvtable.h.orig
soft@wega:~/syslog-ng/syslog-ng-3.1.2% vi src/nvtable.h
soft@wega:~/syslog-ng/syslog-ng-3.1.2% diff -u src/nvtable.h.orig src/nvtable.h > ../drf_syslog-ng-nvtable.h.diff
soft@wega:~/syslog-ng/syslog-ng-3.1.2% cat ../drf_syslog-ng-nvtable.h.diff
--- src/nvtable.h.orig  2009-12-01 16:59:31.000000000 +0100
+++ src/nvtable.h       2011-05-24 12:58:02.411053700 +0200
@@ -167,8 +167,8 @@
   union
   {
     guint32 __dummy_for_alignment;
-    guint16 static_entries[0];
-    gchar data[0];
+    guint16 static_entries[1];
+    gchar data[1];
   };
 };
 

Kompilujemy ponownie:


gmake [y|n] ?
y
...
gmake[2]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2'
gmake[1]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2'
Compilation successful
=============================================

Skompilowało się do końca, spróbujmy testów:


Test (gmake test || gmake check) [y|n] ?
y
gmake: *** No rule to make target `test'.  Stop.
Making check in src
...
===================
All 21 tests passed
===================
...
gmake  check-TESTS
gmake[3]: Entering directory `/home/soft/syslog-ng/syslog-ng-3.1.2/tests/functional'
/usr/bin/env: No such file or directory
FAIL: func_test.py
==================
1 of 1 test failed
==================
gmake[3]: *** [check-TESTS] Error 1
gmake[3]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2/tests/functional'
gmake[2]: *** [check-am] Error 2
gmake[2]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2/tests/functional'
gmake[1]: *** [check-recursive] Error 1
gmake[1]: Leaving directory `/home/soft/syslog-ng/syslog-ng-3.1.2/tests'
gmake: *** [check-recursive] Error 1

Część przechodzi, ale dla innych brakuje w systemie Pythona, którego jeszcze nie zainstalowałem, więc zainstaluję Syslog-ng bez tego.


# gmake install
Making install in src
gmake[1]: Entering directory `/home/soft/syslog-ng/syslog-ng-3.1.2/src'
...
# cd /usr/local
# ln -s syslog-ng-3.1.2 syslog-ng
# /usr/local/syslog-ng/sbin/syslog-ng -V
syslog-ng 3.1.2
Installer-Version: 3.1.2
Revision: ssh+git://bazsi@git.balabit//var/scm/git/syslog-ng/syslog-ng-ose--mainline--3.1#master#8bf13c304b6ab5fc1a372b49d55c78370efe14ca
Compile-Date: May 24 2011 13:01:52
Enable-Threads: off
Enable-Debug: off
Enable-GProf: off
Enable-Memtrace: off
Enable-Sun-STREAMS: on
Enable-Sun-Door: on
Enable-IPv6: on
Enable-Spoof-Source: off
Enable-TCP-Wrapper: off
Enable-SSL: off
Enable-SQL: off
Enable-Linux-Caps: off
Enable-Pcre: off

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.