syslog-ng-users July 2011 archive
Main Archive Page > Month Archives  > syslog-ng-users archives
syslog-ng-users: Re: [syslog-ng] [Bug 128] template() broken in

Re: [syslog-ng] [Bug 128] template() broken in latest 3.3 git

From: Nix <nix_at_nospam>
Date: Fri Jul 22 2011 - 12:18:15 GMT
To: "Syslog-ng users' and developers' mailing list" <syslog-ng@lists.balabit.hu>

On 22 Jul 2011, Balazs Scheidler verbalised:
> The error messages indicate that your test suite couldn't load the
> "basicfuncs" plugin that contains an implementation for $(if) $(grep)
> and $(echo)

Indeed it can't, because it's looking for them in the install location,
and I'm running tests before installation (which seems only sane with
something as system-critical as a logging daemon, especially when it's
a beta version and my last three intallations were failures and led to
its being backed out ;) ).

access("/usr/lib/syslog-ng/libbasicfuncs.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/syslog-ng/libbasicfuncs.la", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/syslog-ng/libconvertfuncs.so", F_OK) = -1 ENOENT (No such file or directory)
access("/usr/lib/syslog-ng/libconvertfuncs.la", F_OK) = -1 ENOENT (No such file or directory)

The test_template_LDADD line has led to the right directories for these
plugins being added to LD_LIBRARY_PATH, but dlopen() of course does not
follow LD_LIBRARY_PATH, it's following the module-path, which is unset
because all we've called is cfg_new().

This could all be fixed by setting module_path, but unfortunately the
module-path variable consulted by the loader (as opposed to the global
which is its ultimate source) is not that easy to set: you need to run
the lexer, which means you need a configuration file, and none of the
tests in tests/unit have one of those. Perhaps it would be best to move
the lexer->args out of the lexer, or just provide an outside-lexer way
to initialize it? (Or simply provide a trivial configuration file and
parse it in the unit tests... that's probably least invasive.)
______________________________________________________________________________
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