[syslog-ng] libdbi too old?

Balazs Scheidler bazsi at balabit.hu
Sun May 22 13:32:31 CEST 2011


On Mon, 2011-05-16 at 12:48 -0500, John Kristoff wrote:
> I ran into a problem upgrading from an OSE syslog-ng 3.1.1 to OSE syslog
> 3.2.4 on a CentOS 64-bit box running under a VM.  When starting 3.2.4,
> here is what I got:
> 
>   Starting syslog-ng... /usr/lib64/dbd/libdbdpgsql.so: undefined
>   symbol: _dbd_parse_datetime
>   libdbi: Failed to load driver: /usr/lib64/dbd/libdbdpgsql.so
>   The database access library (DBI) reports no usable SQL drivers, perhaps DBI drivers are not installed properly;
>   Error initializing dest driver; dest='d_foo', id='d_foo#0'
>   Error initializing message pipeline;
> 
> The following relevant packages are installed:
> 
>   libdbi-dbd-pgsql.x86_64                  0.8.1a-1.2.2
>   libdbi-devel.i386                        0.8.1-2.1
>   libdbi-devel.x86_64                      0.8.1-2.1
> 
> It looks like I have an libdbi that is probably just too old?  Not an
> unheard of issue when using CentOS and RedHat, but if there is an easy
> work around, I'd be interested in hearing about any ideas.  Thanks,

Seems like a compilation issue to me. If both the pgsql driver and
libdbi core is the same version, such undefined symbol errors shouldn't
happen.

Getting a workable DBI can be tricky, since there was no official
release for a long time now. Distributions usually carry quite outdated
packages, and we're considering to abandon DBI for that reason, and use
our own stuff instead.

It's not difficult to compile from sources however, and the exact libdbi
version that we use in PE binary packages can be found on
git.balabit.hu/bazsi/libdbi.git and libdbi-drivers.git.

We do have some unofficial patches against DBI, and I might be guilty of
not pushing them upstream hard enough (and they may not work in all DBI
use-cases), but they are at least published :)

-- 
Bazsi




More information about the syslog-ng mailing list