diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
--- gsoap-2.8.orig/configure.ac	2013-12-18 20:58:31.000000000 +0100
+++ gsoap-2.8/configure.ac	2014-01-16 11:54:26.730139349 +0100
@@ -16,8 +16,7 @@
 AM_PROG_LEX
 AC_PROG_YACC
 AC_PROG_CPP
-AC_PROG_RANLIB
-#AM_PROG_LIBTOOL
+AM_PROG_LIBTOOL
 AC_PROG_LN_S
 AC_PROG_AWK
 AC_PROG_INSTALL
@@ -235,15 +234,15 @@
     WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lgnutls -lgcrypt -lgpg-error -lz"
     SAMPLE_INCLUDES=
     SAMPLE_SSL_LIBS="-lgnutls -lgcrypt -lgpg-error -lz"
-    WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
+    WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
   else
     AC_MSG_RESULT(no)
     WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
     # an ugly hack to get httpda and md5evp plugins to conditionally
     # compile with wsdl2h when OPENSSL is available
-    WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/md5evp.c ../plugin/threads.c -lssl -lcrypto -lz"
+    WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} ../plugin/httpda.c ../plugin/md5evp.c ../plugin/threads.c -lcrypto"
     SAMPLE_INCLUDES=
     SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
-    WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
+    WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
   fi
   if test -n "$OPENSSL"; then
     WSDL2H_EXTRA_FLAGS="-I${OPENSSL}/include ${WSDL2H_EXTRA_FLAGS}"
@@ -255,7 +254,7 @@
   WSDL2H_EXTRA_FLAGS=
   SAMPLE_SSL_LIBS=
   SAMPLE_INCLUDES=
-  WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
+  WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
 fi
 AC_SUBST(WSDL2H_EXTRA_FLAGS)
 AC_SUBST(WSDL2H_EXTRA_LIBS)
diff -ur gsoap-2.8.orig/gsoap/Makefile.am gsoap-2.8/gsoap/Makefile.am
--- gsoap-2.8.orig/gsoap/Makefile.am	2013-12-18 20:58:33.000000000 +0100
+++ gsoap-2.8/gsoap/Makefile.am	2014-01-16 11:52:07.450827436 +0100
@@ -34,20 +34,30 @@
 dom_cpp.cpp: dom.cpp
 	$(LN_S) -f $(srcdir)/dom.cpp dom_cpp.cpp
 
-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
+lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
 
-libgsoap_a_SOURCES = stdsoap2.c dom.c
-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
-libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
-libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
-libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+SOVERSION = 0
+
+libgsoap_la_SOURCES = stdsoap2.c dom.c
+libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoap___la_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
+libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform)
+libgsoap___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapck_la_SOURCES = stdsoap2_ck.c dom.c
+libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
+libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) -DWITH_COOKIES
+libgsoapck___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl_la_SOURCES = stdsoap2_ssl.c dom.c
+libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+libgsoapssl_la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl_la_LIBADD = -lssl -lcrypto -lz
+libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
+libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_IPV6) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM
+libgsoapssl___la_LDFLAGS = -version-info $(SOVERSION)
+libgsoapssl___la_LIBADD = -lssl -lcrypto -lz
 
 BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp $(lib_LIBRARIES)
 
diff -ur gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/samples/autotest/Makefile.am
--- gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am	2013-12-18 20:58:36.000000000 +0100
+++ gsoap-2.8/gsoap/samples/autotest/Makefile.am	2014-01-16 11:52:07.450827436 +0100
@@ -14,7 +14,7 @@
 WSDLINPUT=$(srcdir)/examples.wsdl
 SOAPHEADER=$(srcdir)/examples.h
 SOAP_CPP_SRC=soapC.cpp soapServer.cpp
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
 
 $(SOAP_CPP_SRC) : $(WSDLINPUT)
 	$(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
diff -ur gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8/gsoap/samples/databinding/Makefile.am
--- gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am	2013-12-18 20:58:36.000000000 +0100
+++ gsoap-2.8/gsoap/samples/databinding/Makefile.am	2014-01-16 11:52:07.460827315 +0100
@@ -14,7 +14,7 @@
 WSDLINPUT=$(srcdir)/address.xsd
 SOAPHEADER=$(srcdir)/address.h
 SOAP_CPP_SRC=addressC.cpp
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
 
 $(SOAP_CPP_SRC) : $(WSDLINPUT)
 	$(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
diff -ur gsoap-2.8.orig/gsoap/samples/Makefile.defines gsoap-2.8/gsoap/samples/Makefile.defines
--- gsoap-2.8.orig/gsoap/samples/Makefile.defines	2013-12-18 20:58:37.000000000 +0100
+++ gsoap-2.8/gsoap/samples/Makefile.defines	2014-01-16 11:52:07.469827206 +0100
@@ -15,13 +15,13 @@
 SOAP_C_CORE=soapC.c
 SOAP_C_CLIENT=soapClient.c $(SOAP_C_CORE)
 SOAP_C_SERVER=soapServer.c $(SOAP_C_CORE)
-SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.a
-SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.a
-SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.a
+SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.la
+SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.la
+SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.la
 
 SOAP_CPP_CORE=soapC.cpp
 SOAP_CPP_CLIENT=soapClient.cpp $(SOAP_CPP_CORE)
 SOAP_CPP_SERVER=soapServer.cpp $(SOAP_CPP_CORE)
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
-SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.a
-SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.a
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
+SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.la
+SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.la