Roberto,
The attachment is a new patch against syslog-1.6.5 configure.in. It will static link the flex, the tcpwrappers and libnet libraries.
I'm not sure I understand your patch but to me the essential part seems to be:
-LIBS="$LIBS $LEXLIB $LIBOL_LIBS" +LIBS="$LIBS -Wl,-static $LEXLIB $LIBWRAP_LIBS $LIBNET_LIBS -Wl,-call_shared $LIBOL_LIBS" AC_SUBST(YFLAGS)
AC_SUBST(MAKE_CLASS)
I wonder however why you need this, as it's perfectly ok (at least for me) to statically link syslog-ng and its components setting the LDFLAGS when calling make:
# ./configure ... # make LDFLAGS=-static # ldd src/src/syslog-ng not a dynamic executable
What am I missing?
Using the "-static" option you static linking *every* library, including the ones installed in /lib (eg: libc). With the patch you are only static linking libraries that have been installed under the /usr directory (/usr/lib, /usr/local/lib, ...). You probably don't need to static link libc and other /lib libraries. Result (with the patched configure): $ ldd syslog-ng libnsl.so.1 => /lib/libnsl.so.1 (0x043ee000) libresolv.so.2 => /lib/libresolv.so.2 (0x00614000) libc.so.6 => /lib/tls/libc.so.6 (0x002b5000) /lib/ld-linux.so.2 (0x0029c000) Regards, jpo -- José Pedro Oliveira