[syslog-ng] Newer libtool and autoconf versions?

Balazs Scheidler bazsi at balabit.hu
Thu Feb 3 08:38:20 CET 2011


Hi,

I got some negative feedback on the introduction of this shared object
by the SUSE guys too. So I might go with the suggestion you made about
symlinking pdbtool instead of this new shared library route.

Guys, what do you think?

On Thu, 2011-01-20 at 18:38 +0100, Corinna Vinschen wrote:
> On Jan 14 18:38, Corinna Vinschen wrote:
> > On Jan 14 18:18, Balazs Scheidler wrote:
> > > > Even with these changes there will still be a problem with pdbtool on
> > > > Cygwin.  Since we have no static libs, and since it's not possible to
> > > > link statically against a DLL, pdbtool requires cygdbparser.dll
> > > > (equiv. libdbparser.so on Linux) to be in $PATH.  Given that the
> > > > modules are in /usr/lib/syslog-ng, that's not feasible.
> > > > [...]
> > > the only idea I have is to create a libsyslog-ng-patterndb.so library,
> > > installed in /usr/lib and then libdbparser.so module would be linked
> > > against that code.
> > > 
> > > pdbtool would only depend on libsyslog-ng-patterndb and no on the
> > > syslog-ng plugin.
> 
> I just tested the new implementation from git, and gcc fails to build
> libsyslog-ng-patterndb.dll.a since a lot of function calls are missing:
> 
>   libtool: link: gcc -std=gnu99 -shared  .libs/radix.o .libs/patterndb.o .libs/timerwheel.o .libs/patternize.o   -lssl -lcrypto -lz -lrt /usr/lib/libgmodule-2.0.dll.a -L/usr/lib /usr/lib/libglib-2.0.dll.a /usr/lib/libintl.dll.a /usr/lib/libiconv.dll.a /usr/lib/libevtlog.dll.a -lresolv /usr/lib/libpcre.dll.a  -O2 -Wl,--export-all-symbols   -o .libs/cygsyslog-ng-patterndb-0.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libsyslog-ng-patterndb.dll.a
>   Creating library file: .libs/libsyslog-ng-patterndb.dll.a
>   .libs/radix.o: In function `r_new_pnode':
>   modules/dbparser/radix.c:374: undefined reference to `_log_msg_get_value_handle'
>   modules/dbparser/radix.c:618: undefined reference to `_msg_limit_internal_message'
>   modules/dbparser/radix.c:618: undefined reference to `_log_msg_get_value_name'
>   modules/dbparser/radix.c:618: undefined reference to `_msg_event_create'
>   modules/dbparser/radix.c:629: undefined reference to `_msg_limit_internal_message'
>   modules/dbparser/radix.c:567: undefined reference to `_msg_event_create'
>   modules/dbparser/radix.c:674: undefined reference to `_msg_limit_internal_message'
>   modules/dbparser/radix.c:674: undefined reference to `_msg_event_create'
> 
> etc.
> 
> The reason is that the dependency to libsyslog is missing.  Would you mind
> to apply this simple patch?  It fixes the build problem and the resulting
> pdbtool appears to work fine.
> 
> signed-off by Corinna Vinschen <vinschen at redhat.com>
> 
> diff --git a/modules/dbparser/Makefile.am b/modules/dbparser/Makefile.am
> index c906bcd..ee019bc 100644
> --- a/modules/dbparser/Makefile.am
> +++ b/modules/dbparser/Makefile.am
> @@ -17,7 +17,7 @@ libsyslog_ng_patterndb_la_SOURCES = radix.c radix.h \
>  	timerwheel.c timerwheel.h \
>  	patternize.c patternize.h
>  libsyslog_ng_patterndb_la_LDFLAGS = -no-undefined
> -libsyslog_ng_patterndb_la_LIBADD =  @OPENSSL_LIBS@ @DEPS_LIBS@
> +libsyslog_ng_patterndb_la_LIBADD =  @OPENSSL_LIBS@ @DEPS_LIBS@ ../../lib/libsyslog-ng.la
>  
>  module_LTLIBRARIES = libdbparser.la
>  libdbparser_la_SOURCES = \
> 
> 
> Thanks,
> Corinna
> 

-- 
Bazsi




More information about the syslog-ng mailing list