[syslog-ng] Can't compile 2.0.8 on Solaris 10

Balazs Scheidler bazsi at balabit.hu
Wed Mar 12 11:11:12 CET 2008


On Tue, 2008-03-11 at 13:42 +0100, Ralf Weber wrote:
> Moin!
> 
> I am having problems compiling syslog-ng under Solaris 10 both sparc  
> and intel. The error is as follows:
> 
> /usr/sfw/bin/gcc  -g -O2 -Wall   -o loggen  loggen.o  -lpthread - 
> lresolv -lnsl -lrt -lsocket -ldoor  -lfl -lglib-2.0   -L/opt/sfw/lib - 
> levtlog
> Undefined                       first referenced
>   symbol                             in file
> yylex                               /usr/sfw/lib/gcc/sparc-sun- 
> solaris2.10/3.4.3/../../../libfl.so
> ld: fatal: Symbol referencing errors. No output written to loggen
> 
> Now I did search the archive and there was one message of relevance:
> 
> https://lists.balabit.hu/pipermail/syslog-ng/2006-February/008455.html
> 
> but the problem there was an empty cfg-lex.c which isn't the case for  
> me:
> 
> rw at bh2:~/source/syslog-ng-2.0.8$ ls -l src/cfg-lex.*
> -rw-r--r--   1 rw       ipeng      55895 Jan 31 12:46 src/cfg-lex.c
> -rw-r--r--   1 rw       ipeng       8979 Dec 18 16:25 src/cfg-lex.l
> -rw-rw-r--   1 rw       ipeng      51404 Mar 11 13:36 src/cfg-lex.o
> 
> There is however one thing strange in an earlier stage of the compile  
> which is:
> 
> if /usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I. -I..    -I/usr/include/ 
> glib-2.0 -I/usr/lib/glib-2.0/include   -I/opt/sfw/include/eventlog    - 
> D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -g -O2 -Wall - 
> MT cfg-grammar.o -MD -MP -MF ".deps/cfg-grammar.Tpo" \
>    -c -o cfg-grammar.o `test -f 'cfg-grammar.c' || echo './'`cfg- 
> grammar.c; \
> then mv -f ".deps/cfg-grammar.Tpo" ".deps/cfg-grammar.Po"; \
> else rm -f ".deps/cfg-grammar.Tpo"; exit 1; \
> fi
> /home/bazsi/zwa/git//syslog-ng/syslog-ng--mainline--2.0/src/cfg- 
> grammar.y: In function `yyparse':
> /home/bazsi/zwa/git//syslog-ng/syslog-ng--mainline--2.0/src/cfg- 
> grammar.y:891: warning: implicit declaration of function `strdup'
> 
> However including <string.h> where this is in also didn't help.
> 
> Any help on getting this compiled would be appreciated.

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?

-- 
Bazsi



More information about the syslog-ng mailing list