[syslog-ng] Syslog-ng 2.0.3 make error

Balazs Scheidler bazsi at balabit.hu
Fri May 11 07:07:21 CEST 2007


On Thu, 2007-05-10 at 17:38 -0400, Centyx Centalix wrote:
> On 10May2007 05:14PM (-0400), Centyx Centalix wrote:
> > On 10May2007 05:05PM (-0400), Diana Orrick wrote:
> > > 
> > > I installed libnet, both an older version (to get libnet-config)
> > > and the CPAN perl module...
> > > 
> > > Have updated and hand-installed glib (and all its flavors...)
> > > have tried with/without " --with-dynamic-linking "
> > > 
> > > with libnet I get the odd syntax errors (would prefer to be able to
> > > use this version, and enable spoof sourcing, code update coming?)
> > > 
> > > In file included from
> > > /home/bazsi/zwa/work/syslog-ng-2.0/syslog-ng/src/cfg-grammar.y:15:
> > > afinet.h:61: error: syntax error before "libnet_t"
> > > afinet.h:61: warning: no semicolon at end of struct or union
> > > afinet.h:63: warning: type defaults to `int' in declaration of
> > > `AFInetDestDriver'
> > > afinet.h:63: warning: data definition has no type or storage class
> > > /home/bazsi/zwa/work/syslog-ng-2.0/syslog-ng/src/cfg-grammar.y: In
> > > function `yyparse':
> > > /home/bazsi/zwa/work/syslog-ng-2.0/syslog-ng/src/cfg-grammar.y:592: error:
> > > syntax error before ')' token
> > > /home/bazsi/zwa/work/syslog-ng-2.0/syslog-ng/src/cfg-grammar.y:626: error:
> > > syntax error before ')' token
> > > make[2]: *** [cfg-grammar.o] Error 1
> > > make[2]: Leaving directory `/tmp/syslog-ng-2.0.3/src'
> > > make[1]: *** [all-recursive] Error 1
> > > make[1]: Leaving directory `/tmp/syslog-ng-2.0.3'
> > > make: *** [all] Error 2
> > > 
> > > after disabling enable-spoof_source, I get different errors
> > > (these seem to relate to glib issues noted earlier):
> > > gcc  -g -O2 -Wall -g   -o syslog-ng  main.o libsyslog-ng.a -lnsl -lrt
> > > -Wl,-Bstatic -lfl -L/usr/local/lib -lglib-2.0   -L/usr/local/lib -levtlog
> > > -lwrap -Wl,-Bdynamic
> > > libsyslog-ng.a(misc.o)(.text+0x3a9): In function `resolve_hostname':
> > > /tmp/syslog-ng-2.0.3/src/misc.c:191: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(logmsg.o)(.text+0x6a): In function `log_stamp_format':
> > > /tmp/syslog-ng-2.0.3/src/logmsg.c:110: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(logmsg.o)(.text+0x2b6): In function `log_msg_ref':
> > > /tmp/syslog-ng-2.0.3/src/logmsg.c:498: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(logmsg.o)(.text+0x342): In function `log_msg_unref':
> > > /tmp/syslog-ng-2.0.3/src/logmsg.c:512: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(logmsg.o)(.text+0xe2a): In function
> > > `log_msg_ack_block_end':
> > > /tmp/syslog-ng-2.0.3/src/logmsg.c:648: undefined reference to
> > > `g_return_if_fail_warning'
> > > libsyslog-ng.a(logpipe.o)(.text+0x4f): In function `log_pipe_ref':
> > > /tmp/syslog-ng-2.0.3/src/logpipe.c:38: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(logpipe.o)(.text+0x9b): In function `log_pipe_unref':
> > > /tmp/syslog-ng-2.0.3/src/logpipe.c:47: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(center.o)(.text+0x7d): In function `log_endpoint_free':
> > > /tmp/syslog-ng-2.0.3/src/center.c:90: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(center.o)(.text+0x175): In function `log_connection_new':
> > > /tmp/syslog-ng-2.0.3/src/center.c:132: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(templates.o)(.text+0x2de): In function `log_template_ref':
> > > /tmp/syslog-ng-2.0.3/src/templates.c:180: undefined reference to
> > > `g_assert_warning'
> > > libsyslog-ng.a(templates.o)(.text+0x346):/tmp/syslog-ng-2.0.3/src/templates.c:191:
> > > more undefined references to `g_assert_warning' follow
> > > collect2: ld returned 1 exit status
> > > make[2]: *** [syslog-ng] Error 1
> > > make[2]: Leaving directory `/tmp/syslog-ng-2.0.3/src'
> > > make[1]: *** [all-recursive] Error 1
> > > make[1]: Leaving directory `/tmp/syslog-ng-2.0.3'
> > > make: *** [all] Error 2
> > > 
> > > even tried installing syslog-ng-2.0.2, thinking it more 'stable'

All the missing references above are macros in glib. Maybe you compiled
syslog-ng against an old glib (which did not have those), and then you
didn't recompile with the new one? Do a "make clean" after changing
dependencies.

And before quoting the word 'stable': I would not judge a piece of
software by my incompetence of compiling things from source. Use a
binary package.

I know that the configure script of syslog-ng could be more user
friendly, but I cannot make it any easier to install required
dependencies (like libnet or glib).

> > > 
> > > suggestions welcome, I'd like to get this working...
> > > 
> 
> 
> Sorry for top-posting. You will probably want to remove the glib and
> libnet you installed by hand first. Then install the libnet RPM from the
> CentOS extras repository or from Daag Wieers site,
> http://dag.wieers.com/rpm/packages.php. For glib, do up2date/yum
> glib2-devel. I have eventlog and syslog-ng source RPMS I have built that
> I could send you, if you think that would help ( and if it's OK to redistribute them? - asking the list ).

If you also supply the SRPM it should be fine.

-- 
Bazsi



More information about the syslog-ng mailing list