[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