syslog-ng and OS library path?
Hello syslog-ng users! I might be getting a little out of the scope of syslog-ng usage here, but I thought I'd start here and work my way elsewhere. I've got a Debian unstable workstation that I do some syslog-ng testing on. I recently started using the sql destination driver and am hitting an issue on my unstable workstation, but not on a Debian "old-stable" squeeze system. # syslog-ng -F -e Log pattern database reloaded; file='/var/lib/syslog-ng/patterndb.xml', version='3', pub_date='2013-06-27' Unable to initialize database access (DBI); rc='-1', error='No such file or directory (2)' Error initializing message pipeline; Which I run under strace and get: openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/dbd", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory) The location looks okay for a Debian multiarch system, but according to dpkg the library isn't under the multiarch library path: $ dpkg -L libdbd-pgsql | grep x86_64 $ dpkg -L libdbd-pgsql | grep '^/usr/lib' /usr/lib /usr/lib/dbd /usr/lib/dbd/libdbdpgsql.la /usr/lib/dbd/libdbdpgsql.so I am under the impression that /usr/lib is still searched by the system loader. Why is syslog-ng not able to find the library file. What am I missing? Thanks for any suggestions or hints. -mz
Hi, Its probably a libdbi-drivers compilation issue. I don't know too much about the intricacies of multiarch on the debian/rules side but I guess that package misses some key parts. The drivers are loaded by libdbi and not by syslog-ng directly. On Jan 24, 2014 9:56 PM, "Matt Zagrabelny" <mzagrabe@d.umn.edu> wrote:
Hello syslog-ng users!
I might be getting a little out of the scope of syslog-ng usage here, but I thought I'd start here and work my way elsewhere.
I've got a Debian unstable workstation that I do some syslog-ng testing on. I recently started using the sql destination driver and am hitting an issue on my unstable workstation, but not on a Debian "old-stable" squeeze system.
# syslog-ng -F -e Log pattern database reloaded; file='/var/lib/syslog-ng/patterndb.xml', version='3', pub_date='2013-06-27' Unable to initialize database access (DBI); rc='-1', error='No such file or directory (2)' Error initializing message pipeline;
Which I run under strace and get:
openat(AT_FDCWD, "/usr/lib/x86_64-linux-gnu/dbd", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
The location looks okay for a Debian multiarch system, but according to dpkg the library isn't under the multiarch library path:
$ dpkg -L libdbd-pgsql | grep x86_64 $ dpkg -L libdbd-pgsql | grep '^/usr/lib' /usr/lib /usr/lib/dbd /usr/lib/dbd/libdbdpgsql.la /usr/lib/dbd/libdbdpgsql.so
I am under the impression that /usr/lib is still searched by the system loader. Why is syslog-ng not able to find the library file.
What am I missing?
Thanks for any suggestions or hints.
-mz
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq
Matt Zagrabelny <mzagrabe@d.umn.edu> writes:
I might be getting a little out of the scope of syslog-ng usage here, but I thought I'd start here and work my way elsewhere.
I've got a Debian unstable workstation that I do some syslog-ng testing on. I recently started using the sql destination driver and am hitting an issue on my unstable workstation, but not on a Debian "old-stable" squeeze system.
This is likely a problem in libdbi1, which was recently upgraded from 0.8.x to 0.9.0. The upgrade may have broken the search path there. Can you try with the libdbi from testing?
I am under the impression that /usr/lib is still searched by the system loader. Why is syslog-ng not able to find the library file.
Because it's not the system linker searching, but libdbi itself. syslog-ng (correctly) initializes libdbi with its default search path, so the problem lies in libdbi, most likely. I'll give it a try too, but if you could test with the libdbi1 in testing too, that would be great. -- |8]
Gergely Nagy <algernon@madhouse-project.org> writes:
Matt Zagrabelny <mzagrabe@d.umn.edu> writes:
I might be getting a little out of the scope of syslog-ng usage here, but I thought I'd start here and work my way elsewhere.
I've got a Debian unstable workstation that I do some syslog-ng testing on. I recently started using the sql destination driver and am hitting an issue on my unstable workstation, but not on a Debian "old-stable" squeeze system.
This is likely a problem in libdbi1, which was recently upgraded from 0.8.x to 0.9.0. The upgrade may have broken the search path there. Can you try with the libdbi from testing?
I just verified, this is a problem in the libdbi1 package in unstable. The version from testing works fine. As a workaround, until the bug is fixed in unstable, you can downgrade to libdbi1/testing. -- |8]
participants (3)
-
Balazs Scheidler
-
Gergely Nagy
-
Matt Zagrabelny