[syslog-ng] [Bug 226] 3.3.8: iv_tls_user_register: called after iv_init

bugzilla at bugzilla.balabit.com bugzilla at bugzilla.balabit.com
Sun Aug 11 15:05:22 CEST 2013


https://bugzilla.balabit.com/show_bug.cgi?id=226


Gergely Nagy <algernon at balabit.hu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|bazsi at balabit.hu            |algernon at balabit.hu




--- Comment #6 from Gergely Nagy <algernon at balabit.hu>  2013-08-11 15:05:22 ---
I think I finally understand what is happening. If you look at the strace, the dynamic linker will try to open libsyslog-ng-3.4.2.so first, and will fail with
the assert when it later tries libsyslog-ng-3.3.11.so. Both of them link to ivykis, but different versions, and that's the cause of the problem. How would that
happen?

Well, if syslog-ng is installed into /usr, libsyslog-ng.so will go into /usr/lib, which is on the default linker path. Every time you do a -lsyslog-ng, it will
then link to that. So if you have 3.4 installed, and compile 3.3, it will still link modules to 3.4. The easiest way around this is to use a libdir at
configure-time that's not on the linker path, like /usr/lib/syslog-ng.

I'm considering changing syslog-ng's build system to put libsyslog-ng into a private directory instead, to avoid this kind of confusion. I won't do that for
3.3, nor 3.4, that would be an invasive change, and it's easier to document this there instead.


-- 
Configure bugmail: https://bugzilla.balabit.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the syslog-ng mailing list