diff --git a/Makefile.in b/Makefile.in
index 6613e13..aaec6f3 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -78,6 +78,7 @@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 ECHO = @ECHO@
+EXEC_LDADD = @EXEC_LDADD@
 EXEC_LDFLAGS = @EXEC_LDFLAGS@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
diff --git a/config.h.in b/config.h.in
index 6897224..8810c20 100644
--- a/config.h.in
+++ b/config.h.in
@@ -76,9 +76,6 @@
 /* Define to 1 if you have the `select' function. */
 #undef HAVE_SELECT
 
-/* Do we have sockaddr.sa_len? */
-#undef HAVE_SOCKADDR_SA_LEN
-
 /* Define to 1 if you have the `socket' function. */
 #undef HAVE_SOCKET
 
diff --git a/configure b/configure
index 4a1edbd..8155b64 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.57 for openggsn 0.84.
+# Generated by GNU Autoconf 2.57 for openggsn 0.83.
 #
 # Report bugs to <jj@openggsn.org>.
 #
@@ -427,8 +427,8 @@
 # Identity of this package.
 PACKAGE_NAME='openggsn'
 PACKAGE_TARNAME='openggsn'
-PACKAGE_VERSION='0.84'
-PACKAGE_STRING='openggsn 0.84'
+PACKAGE_VERSION='0.83'
+PACKAGE_STRING='openggsn 0.83'
 PACKAGE_BUGREPORT='jj@openggsn.org'
 
 ac_unique_file="gtp/gtp.c"
@@ -469,7 +469,7 @@
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK CPP CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB LN_S ECHO STRIP ac_ct_STRIP EGREP LIBTOOL EXEC_LDFLAGS LIBOBJS PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh INSTALL_STRIP_PROGRAM SET_MAKE DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXXDEPMODE LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK CPP CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB LN_S ECHO STRIP ac_ct_STRIP EGREP LIBTOOL EXEC_LDFLAGS EXEC_LDADD LIBOBJS PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh INSTALL_STRIP_PROGRAM SET_MAKE DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE CXXDEPMODE LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -946,7 +946,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures openggsn 0.84 to adapt to many kinds of systems.
+\`configure' configures openggsn 0.83 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1013,7 +1013,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of openggsn 0.84:";;
+     short | recursive ) echo "Configuration of openggsn 0.83:";;
    esac
   cat <<\_ACEOF
 
@@ -1111,7 +1111,7 @@
 test -n "$ac_init_help" && exit 0
 if $ac_init_version; then
   cat <<\_ACEOF
-openggsn configure 0.84
+openggsn configure 0.83
 generated by GNU Autoconf 2.57
 
 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002
@@ -1126,7 +1126,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by openggsn $as_me 0.84, which was
+It was created by openggsn $as_me 0.83, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   $ $0 $@
@@ -7838,20 +7838,15 @@
 
 
 
+
 case "${host}" in
-  i345686-*-linux-gnu*)
-    EXEC_LDFLAGS="$EXEC_LDFLAGS -Wl,--rpath -Wl,/usr/local/lib" ;;
+  i*86-*-linux-gnu*)
+    EXEC_LDADD="-Wl,--rpath -Wl,/usr/local/lib" ;;
   *solaris*)
-    EXEC_LDFLAGS="$EXEC_LDFLAGS -lresolv -lsocket -lnsl" ;;
+    EXEC_LDADD="-lresolv -lsocket -lnsl" ;;
 esac
 
 
-# Check whether --enable-static-exec or --disable-static-exec was given.
-if test "${enable_static_exec+set}" = set; then
-  enableval="$enable_static_exec"
-   EXEC_LDFLAGS="-all-static"
-fi;
-
 
 
 # Checks for libraries.
@@ -8675,107 +8670,6 @@
 
 
 
-# Check for sockaddr.sa_len
-echo "$as_me:$LINENO: checking for struct sockaddr.sa_len" >&5
-echo $ECHO_N "checking for struct sockaddr.sa_len... $ECHO_C" >&6
-if test "${ac_cv_member_struct_sockaddr_sa_len+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-
-
-int
-main ()
-{
-static struct sockaddr ac_aggr;
-if (ac_aggr.sa_len)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_member_struct_sockaddr_sa_len=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-cat >conftest.$ac_ext <<_ACEOF
-#line $LINENO "configure"
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-
-
-int
-main ()
-{
-static struct sockaddr ac_aggr;
-if (sizeof ac_aggr.sa_len)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-         { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_member_struct_sockaddr_sa_len=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_member_struct_sockaddr_sa_len=no
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockaddr_sa_len" >&5
-echo "${ECHO_T}$ac_cv_member_struct_sockaddr_sa_len" >&6
-if test $ac_cv_member_struct_sockaddr_sa_len = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SOCKADDR_SA_LEN 1
-_ACEOF
-
-fi
-
-
 # Checks for typedefs, structures, and compiler characteristics.
 echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
@@ -10073,7 +9967,7 @@
 
 # Define the identity of the package.
  PACKAGE=openggsn
- VERSION=0.84
+ VERSION=0.83
 
 
 cat >>confdefs.h <<_ACEOF
@@ -10707,7 +10601,7 @@
 } >&5
 cat >&5 <<_CSEOF
 
-This file was extended by openggsn $as_me 0.84, which was
+This file was extended by openggsn $as_me 0.83, which was
 generated by GNU Autoconf 2.57.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -10773,7 +10667,7 @@
 
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-openggsn config.status 0.84
+openggsn config.status 0.83
 configured by $0, generated by GNU Autoconf 2.57,
   with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -11020,6 +10914,7 @@
 s,@EGREP@,$EGREP,;t t
 s,@LIBTOOL@,$LIBTOOL,;t t
 s,@EXEC_LDFLAGS@,$EXEC_LDFLAGS,;t t
+s,@EXEC_LDADD@,$EXEC_LDADD,;t t
 s,@LIBOBJS@,$LIBOBJS,;t t
 s,@PACKAGE@,$PACKAGE,;t t
 s,@VERSION@,$VERSION,;t t
diff --git a/configure.in b/configure.in
index c80f474..dfc0a54 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
 # Process this file with autoconf to produce a configure script.
-AC_INIT(openggsn, 0.84, jj@openggsn.org)
+AC_INIT(openggsn, 0.83, jj@openggsn.org)
 AC_CONFIG_SRCDIR([gtp/gtp.c])
 AM_CONFIG_HEADER([config.h])
 #AC_CONFIG_HEADER([config.h])
@@ -25,19 +25,16 @@
 
 AC_SUBST(EXEC_LDFLAGS)
 
+
 case "${host}" in
-  i[3456]86-*-linux-gnu*) 
-    EXEC_LDFLAGS="$EXEC_LDFLAGS -Wl,--rpath -Wl,/usr/local/lib" ;;
+  i*86-*-linux-gnu*) 
+    EXEC_LDADD="-Wl,--rpath -Wl,/usr/local/lib" ;;
   *solaris*) 
-    EXEC_LDFLAGS="$EXEC_LDFLAGS -lresolv -lsocket -lnsl" ;;
+    EXEC_LDADD="-lresolv -lsocket -lnsl" ;;
 esac
 
+AC_SUBST(EXEC_LDADD)
 
-AC_ARG_ENABLE(static-exec,
- [  --enable-static-exec  Enable static linking of executables],
- [ EXEC_LDFLAGS="-all-static"])
-
-AC_SUBST(EXEC_LDFLAGS)
 
 # Checks for libraries.
 # FIXME: Replace `main' with a function in `-le':
@@ -62,15 +59,6 @@
 AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h])
 
 
-# Check for sockaddr.sa_len
-AC_CHECK_MEMBER([struct sockaddr.sa_len],
-[AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Do we have sockaddr.sa_len?])],
-[],
-[
-#include <sys/types.h>
-#include <sys/socket.h>
-])
-
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_MODE_T
diff --git a/doc/Makefile.in b/doc/Makefile.in
index d334fdd..1b17916 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -78,6 +78,7 @@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 ECHO = @ECHO@
+EXEC_LDADD = @EXEC_LDADD@
 EXEC_LDFLAGS = @EXEC_LDFLAGS@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
diff --git a/ggsn/Makefile.am b/ggsn/Makefile.am
index f5809a5..906077f 100644
--- a/ggsn/Makefile.am
+++ b/ggsn/Makefile.am
@@ -4,9 +4,9 @@
 
 CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb
 
-ggsn_LDADD = @LIBOBJS@ -lgtp -L../gtp
+ggsn_LDADD = @LIBOBJS@ @EXEC_LDADD@ -lgtp -L../gtp
 
-ggsn_DEPENDENCIES = ../gtp/libgtp.la
+#ggsn_DEPENDENCIES = ../gtp/libgtp.la
 
 ggsn_SOURCES = ggsn.c tun.c tun.h cmdline.c cmdline.h ippool.h ippool.c syserr.h syserr.c lookup.c
 
diff --git a/ggsn/Makefile.in b/ggsn/Makefile.in
index 18bd591..aa8567e 100644
--- a/ggsn/Makefile.in
+++ b/ggsn/Makefile.in
@@ -78,6 +78,7 @@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 ECHO = @ECHO@
+EXEC_LDADD = @EXEC_LDADD@
 EXEC_LDFLAGS = @EXEC_LDFLAGS@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
@@ -96,10 +97,10 @@
 
 CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb
 
-ggsn_LDADD = @LIBOBJS@ -lgtp -L../gtp
+ggsn_LDADD = @LIBOBJS@ @EXEC_LDADD@ -lgtp -L../gtp
 
-ggsn_DEPENDENCIES = ../gtp/libgtp.la
 
+#ggsn_DEPENDENCIES = ../gtp/libgtp.la
 ggsn_SOURCES = ggsn.c tun.c tun.h cmdline.c cmdline.h ippool.h ippool.c syserr.h syserr.c lookup.c
 subdir = ggsn
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -111,6 +112,7 @@
 am_ggsn_OBJECTS = ggsn.$(OBJEXT) tun.$(OBJEXT) cmdline.$(OBJEXT) \
 	ippool.$(OBJEXT) syserr.$(OBJEXT) lookup.$(OBJEXT)
 ggsn_OBJECTS = $(am_ggsn_OBJECTS)
+ggsn_DEPENDENCIES = @LIBOBJS@
 ggsn_LDFLAGS =
 
 DEFS = @DEFS@
diff --git a/gtp/Makefile.in b/gtp/Makefile.in
index 9c68e29..8415f31 100644
--- a/gtp/Makefile.in
+++ b/gtp/Makefile.in
@@ -78,6 +78,7 @@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 ECHO = @ECHO@
+EXEC_LDADD = @EXEC_LDADD@
 EXEC_LDFLAGS = @EXEC_LDFLAGS@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
diff --git a/sgsnemu/Makefile.am b/sgsnemu/Makefile.am
index bdd28ba..9a31cbd 100644
--- a/sgsnemu/Makefile.am
+++ b/sgsnemu/Makefile.am
@@ -4,8 +4,8 @@
 
 CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb
 
-sgsnemu_LDADD = @LIBOBJS@ -lgtp -L../gtp 
+sgsnemu_LDADD = @LIBOBJS@ @EXEC_LDADD@ -lgtp -L../gtp 
 
-sgsnemu_DEPENDENCIES = ../gtp/libgtp.la
+#sgsnemu_DEPENDENCIES = ../gtp/libgtp.la
 
 sgsnemu_SOURCES = sgsnemu.c tun.c tun.h cmdline.c cmdline.h ippool.h ippool.c syserr.h syserr.c lookup.c
diff --git a/sgsnemu/Makefile.in b/sgsnemu/Makefile.in
index 84b30ce..3d3451a 100644
--- a/sgsnemu/Makefile.in
+++ b/sgsnemu/Makefile.in
@@ -78,6 +78,7 @@
 DEPDIR = @DEPDIR@
 DLLTOOL = @DLLTOOL@
 ECHO = @ECHO@
+EXEC_LDADD = @EXEC_LDADD@
 EXEC_LDFLAGS = @EXEC_LDFLAGS@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 LIBTOOL = @LIBTOOL@
@@ -96,10 +97,10 @@
 
 CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb
 
-sgsnemu_LDADD = @LIBOBJS@ -lgtp -L../gtp 
+sgsnemu_LDADD = @LIBOBJS@ @EXEC_LDADD@ -lgtp -L../gtp 
 
-sgsnemu_DEPENDENCIES = ../gtp/libgtp.la
 
+#sgsnemu_DEPENDENCIES = ../gtp/libgtp.la
 sgsnemu_SOURCES = sgsnemu.c tun.c tun.h cmdline.c cmdline.h ippool.h ippool.c syserr.h syserr.c lookup.c
 subdir = sgsnemu
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -111,6 +112,7 @@
 am_sgsnemu_OBJECTS = sgsnemu.$(OBJEXT) tun.$(OBJEXT) cmdline.$(OBJEXT) \
 	ippool.$(OBJEXT) syserr.$(OBJEXT) lookup.$(OBJEXT)
 sgsnemu_OBJECTS = $(am_sgsnemu_OBJECTS)
+sgsnemu_DEPENDENCIES = @LIBOBJS@
 sgsnemu_LDFLAGS =
 
 DEFS = @DEFS@
