[syslog-ng] What is the last syslog-ng version that compiles under glibc-2.3.5 ?
Pal Tamas
folti at balabit.hu
Mon Nov 30 11:12:05 CET 2009
Hi all,
On Sun, Nov 29, 2009 at 06:31:06PM -0900, Mr. James W. Laferriere wrote:
> > X095_VERIFY_PARAM_set_flags() is defined by openssl 0.9.8 and syslog-ng
> > is explicitly depending on 0.9.8. You probably also have 0.9.7 as well
> > and for some reason the linker finds that.
> That hit the nail on the head (& mine) .
> (*) ie: /usr/lib/openssl.so.0 -> openssl.so.0.9.7
> re linked to openssl.so.0.9.8
> And all compiled fine .
> Updated pcre to minimum needed just prior .
Something is funny here. configure (through pkg-config) checks if
openssl's minimum version is 0.9.8. It's possible that pkg-config found
an openssl.pc file wich said 0.9.8 but the libssl.so (which the linker
uses) was pointed to libssl.so.0.9.7.
This is could be the problem when you install different versions of
openssl under the same prefix(forex. 0.9.7 from slackware and 0.9.8 from
source), because make install will overwrite files without hesitation.*
Because of this, it's always recommended to install your custom packages
to somewhere else than the distros default /usr/lib/ and use CFLAGS,
LDFLAGS and/or configure's options to specify the version you want to
use.
* You can check this, by running 'pkg-config --modversion openssl' (which
returns the version found in the openssl.pc file and 'pkg-config
--cflags --libs openssl' which returns the needed compiler and linker
flags.
Mind you, pkg-config never checks anything else than the contents of the
<modulename>.pc file. If the state of your system is different than the
contents of the .pc files you will get mystical errors like this.
>
> > Regarding the rant, you're right that compiling a package from source
> > with a lot of external dependencies is not and has never been easy.
> > Especially if your build host has hacks and mismatching
> > headers/libraries.
> Still checking for the minimum required libraries in configure.in is
> quite doable & someone missed the possibility of the above (*) and it did not
> get caught . Not to mention the operator (me) didn't either :^( .
We check for openssl 0.9.8 using pkg-config. The current check for pcre
is not as sophisticated, only checking for the existence of the
library (pcre didn't have support for pkg-config when syslog-ng started
to use it) but we can update it now.
Regards,
--
Pal Tamas/Folti
folti at balabit.hu
More information about the syslog-ng
mailing list