[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