[prev in list] [next in list] [prev in thread] [next in thread] 

List:       syslog-ng
Subject:    Re: [syslog-ng] Newer libtool and autoconf versions?
From:       Corinna Vinschen <vinschen () redhat ! com>
Date:       2011-01-20 17:38:24
Message-ID: 20110120173824.GH32582 () calimero ! vinschen ! de
[Download RAW message or body]

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
______________________________________________________________________________
Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
FAQ: http://www.campin.net/syslog-ng/faq.html


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic