Am Mittwoch, 23. Februar 2011, 14:52:18 schrieb Balazs Scheidler:
On Wed, 2011-02-23 at 14:31 +0100, Corinna Vinschen wrote:
On Feb 23 14:11, Balazs Scheidler wrote:
On Wed, 2011-02-23 at 13:57 +0100, Corinna Vinschen wrote:
On Feb 23 13:05, Balazs Scheidler wrote:
Hi,
I've tried to put a closure on how syslog-ng 3.2 and above is being linked. There were numerous problems as it started to get into Linux distributions. [...] Also, the main syslog-ng executable is not linked against libssl/libcrypto on purpose, it is only used by the afsocket module (which implements the tcp/syslog destinations).
Could anyone who is in charge of maintaining syslog-ng binaries in various distributions give this a test so 3.2.3 will compile everywhere out-of-the-box?
Sorry, but this won't work for the Cygwin distro. The changes don't take my patch from https://lists.balabit.hu/pipermail/syslog-ng/2011-February/016007.htm l into account.
I understand that, but pdbtool doesn't open libdbparser.so anymore and libsyslog-ng-patterndb.so has been removed and I link that into pdbtool statically.
Rechecking the patch you referenced, the only important difference is that you mark the convenience library with noinst_ whereas my patch installs that publicly (which indeed is a bug).
Am I missing something else?
Well, yes. As outlined in https://lists.balabit.hu/pipermail/syslog-ng/2011-February/016006.html there are two problems:
- You can't link against a static lib when creating a shared lib. That
means, creating libdbparser.so will fail. My patch results in creating a shared libsyslog-ng-patterndb.so for linking libdbparser.so, and a static libsyslog-ng-patterndb.a for linking pdbtool. Marking both libsyslog-ng-patterndb as noinst is just to avoid that both convenience libs are installed.
hmm.. not even with -fPIC ? If I have to duplicate executable code into pdbtool anyway (because of static linking it), I'd rather not have a separate .so which is only loaded by an .so.
If that's the case, I'd include the same source files into both targets (the .la one and pdbtool one)
This seems to be the easiest way :-) Gruesse / Regards, Marius Tomaschewski <mt@suse.de> <mt@novell.com> -- Server Technologies Team, SUSE LINUX Products GmbH, Nuernberg; GF: Markus Rex; HRB 16746 (AG Nuernberg) GPG/PGP public key fingerprint: DF17 271A AD15 006A 5BB9 6C96 CA2F F3F7 373A 1CC0