[syslog-ng] syslog-ng-2.1.3: 'Configure' failed on Solaris 8 using --enable-static-linking

Balazs Scheidler bazsi at balabit.hu
Mon Jan 19 10:58:27 CET 2009

On Mon, 2009-01-19 at 14:27 +0530, Chanchal Verma wrote:
> Thanks Bazsi, with your valuable input I am successfully configure
> with --enable-static-linking option. While doing 'make' it is not able
> to find certain static libraries (*.a). 
> From where I can get these libraries. I have pasted the error message
> faced during 'make': 
> ********************************************************** 
> >make 
> .. 
> .. 
> rm -f libsyslog-ng.a 
> ar cru libsyslog-ng.a misc.o utils.o messages.o syslog-names.o cfg.o
> cfg-lex.o cfg-grammar.o macros.o filter.o logmsg.o logpipe.o
> logsource.o driver.o sgroup.o dgroup.o center.o templates.o
> logreader.o logwriter.o affile.o afstreams.o afuser.o afprog.o
> afsocket.o afunix.o afinet.o afinter.o children.o stats.o gsockaddr.o
> fdwrite.o fdread.o memtrace.o dnscache.o apphook.o serialize.o
> logqueue.o afsql.o alarms.o globals.o 
> ranlib libsyslog-ng.a 
> if gcc -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/local/include/glib-2.0
> -I/usr/local/lib/glib-2.0/include
> -I/opt/soe/local/syslog-ng-2.1.3/eventlog/include/eventlog
> -MT main.o -MD -MP -MF ".deps/main.Tpo" \ 
>           -c -o main.o `test -f 'main.c' || echo './'`main.c; \ 
>         then mv -f ".deps/main.Tpo" ".deps/main.Po"; \ 
>         else rm -f ".deps/main.Tpo"; exit 1; \ 
>         fi 
> gcc  -g -O2 -Wall   -o syslog-ng  main.o libsyslog-ng.a -static
> -lpthread -lresolv -lnsl -lrt -lsocket -ldoor  -ll -L/usr/local/lib
> -lglib-2.0 -lintl -liconv
> -L/opt/soe/local/syslog-ng-2.1.3/eventlog/lib -levtlog 
> ld: fatal: library -lpthread: not found 
> ld: fatal: library -lresolv: not found 
> ld: fatal: library -lrt: not found 
> ld: fatal: library -ldoor: not found 
> ld: fatal: File processing errors. No output written to syslog-ng 
> collect2: ld returned 1 exit status 
> make[2]: *** [syslog-ng] Error 1 
> make[2]: Leaving directory `/syslog-prereq/syslog-ng-2.1.3/src' 
> make[1]: *** [all-recursive] Error 1 
> make[1]: Leaving directory `/syslog-prereq/syslog-ng-2.1.3' 
> make: *** [all] Error 2 
> ********************************************************* 
> I have checked on my solaris 8 box, these libraries (libpthread.a,
> librt.a, libresolv, libdoor.a) are not available. From where can I get
> required libraries? I have used gcc-3.4.6 compiler. 
> I tried to install gcc-4.2.3 on this Solaris box but not
> succeeded. :( 

Well, why do you want to compile syslog-ng completely statically? IIRC
Sun does not endorse (or support) completely statically linked binaries.
Low level libraries like the libc should be linked statically.

Syslog-ng has a mixed linking option (--enable-mixed-linking) in which
case user-level libraries like glib are linked statically, whereas
system libraries (like the ones missing in your compilation output) are
linked dynamically.

Isn't that enough for you?


More information about the syslog-ng mailing list