|
From: Markus H. <mar...@mh...> - 2016-02-26 22:50:39
|
On 2016-02-26 20:58, Shakti Tripathy was heard to say: > Hi > > I am trying to use the DB2 driver in libdbi-drivers-0.9.0 with the libdbi-0.9.0 library. Libdbi is used by collectd's (https://collectd.org/ [1]) dbi plugin. > I am interested in using this for DB2 - please could some one suggest how I can use this driver? When I run collectd I get this issue: > > libdbi: Failed to load driver: /usr/local/lib/dbd/libdbddb2.so > > But ldd doesn't indicate any issues with this shared lib. > > ldd /usr/local/lib/dbd/libdbddb2.so -> > linux-vdso.so.1 => (0x00002aaaaaaab000) > libdb2.so.1 => /home/db2inst1/sqllib/lib64/libdb2.so.1 (0x00002aaaaacb4000) > libdbi.so.1 => /usr/local/lib/libdbi.so.1 (0x00002aaaadd8b000) > libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaadfad000) > libm.so.6 => /lib64/libm.so.6 (0x00002aaaae1b1000) > libc.so.6 => /lib64/libc.so.6 (0x00002aaaae436000) > libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002aaaae7cb000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaaea02000) > libpam.so.0 => /lib64/libpam.so.0 (0x00002aaaaec1f000) > libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002aaaaee2e000) > libdb2dascmn.so.1 => /home/db2inst1/sqllib/lib64/libdb2dascmn.so.1 (0x00002aaaaf181000) > libdb2g11n.so.1 => /home/db2inst1/sqllib/lib64/libdb2g11n.so.1 (0x00002aaaaf3ae000) > libdb2genreg.so.1 => /home/db2inst1/sqllib/lib64/libdb2genreg.so.1 (0x00002aaaafd77000) > libdb2install.so.1 => /home/db2inst1/sqllib/lib64/libdb2install.so.1 (0x00002aaaaffbe000) > libdb2locale.so.1 => /home/db2inst1/sqllib/lib64/libdb2locale.so.1 (0x00002aaab01c9000) > libdb2osse.so.1 => /home/db2inst1/sqllib/lib64/libdb2osse.so.1 (0x00002aaab03f1000) > libdb2osse_db2.so.1 => /home/db2inst1/sqllib/lib64/libdb2osse_db2.so.1 (0x00002aaab0b98000) > libdb2sdbin.so.1 => /home/db2inst1/sqllib/lib64/libdb2sdbin.so.1 (0x00002aaab0e25000) > libdb2trcapi.so.1 => /home/db2inst1/sqllib/lib64/libdb2trcapi.so.1 (0x00002aaab10c0000) > libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaab12da000) > libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaab15e0000) > /lib64/ld-linux-x86-64.so.2 (0x0000003be3000000) > libfreebl3.so => /lib64/libfreebl3.so (0x00002aaab17f7000) > libaudit.so.1 => /lib64/libaudit.so.1 (0x00002aaab19fa000) > libz.so.1 => /lib64/libz.so.1 (0x00002aaab1c1d000) > librt.so.1 => /lib64/librt.so.1 (0x00002aaab1e34000) > > Thank you > Best regards, > Shakti Hi, looks like the current db2 driver code has not yet been updated to the latest driver API. In other words, the driver fails to load because it lacks functions considered essential by libdbi. This is not a linker issue, therefore your ldd output is perfectly fine. There were a couple of major changes in the past, including the introduction of instances and of reentrant functions wherever this is needed. As none of the more or less active developers seems to run db2, there was no chance to update this driver. If you have some programming skills, you may use any of the officially supported drivers, such as mysql, as a guidance to retrofit these changes to the db2 driver. best regards, Markus -- Markus Hoenicka http://www.mhoenicka.de AQ score 38 Links: ------ [1] https://collectd.org/ |