[syslog-ng] Newer libtool and autoconf versions?

Corinna Vinschen vinschen at redhat.com
Thu Jan 20 18:38:24 CET 2011


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

-- 
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat


More information about the syslog-ng mailing list