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@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