On Wed, 2008-03-12 at 11:48 +0100, Ralf Weber wrote:
Moin!
On Mar 12, 2008, at 11:11 , Balazs Scheidler wrote:
yylex() is defined by the flex library itself, not by syslog-ng. For some reason your /usr/lib/libfl.so does not do that.
Can you validate that /usr/lib/libfl.so indeed comes from the GNU flex package? Can you check its contents via nm or objdump? Hmm /usr/lib/libfl.so doesn't exist, but /usr/sfw/lib/libfl.so does: rw@bh2:~$ nm /usr/sfw/lib/libfl.so /usr/sfw/lib/libfl.so:
[Index] Value Size Type Bind Other Shndx Name [..] [1] | 0| 0|FILE |LOCL |0 |ABS |libfl-2.5.4.so.0 [28] | 0| 0|FILE |LOCL |0 |ABS |libmain.c [33] | 0| 0|FILE |LOCL |0 |ABS |libyywrap.c [41] | 660| 32|FUNC |GLOB |0 |5 |main [24] | 0| 0|FILE |LOCL |0 |ABS |values-Xa.c [45] | 0| 0|FUNC |GLOB |0 |UNDEF |yylex [47] | 692| 8|FUNC |GLOB |0 |5 |yywrap
I have no idea if this is good or bad, but it seems to originate from the flex libraries provided by Sun: rw@bh2:~$ pkgchk -l -p /usr/sfw/lib/libfl.so Pathname: /usr/sfw/lib/libfl.so Type: symbolic link Source of link: ./libfl-2.5.4.so.0 Referenced by the following packages: SUNWflexruntime Current status: installed
rw@bh2:~$ pkgchk -l -p /usr/sfw/lib/libfl-2.5.4.so.0 Pathname: /usr/sfw/lib/libfl-2.5.4.so.0 Type: regular file Expected mode: 0555 Expected owner: root Expected group: bin Expected file size (bytes): 4492 Expected sum(1) of contents: 2486 Expected last modification: Jan 23 02:14:56 2005 Referenced by the following packages: SUNWflexruntime Current status: installed
Hmm. this seems to be ok, although the yylex() symbol is listed as an external reference in your libfl.so file. If you have flex installed, can you please remove the cfg-lex.c file as supplied in the tarball of syslog-ng, and let the makefile regenerate it from the lex file (cfg-lex.l) during compilation? This should really fix this issue. -- Bazsi