--- Begin Message ---

Hi Thomas,

Building libgsoap with dom.c/pp will lead to other link issues because dom.c/pp expects to be linked with soapC.c/pp and that's why I haven't included it in libgsoap. I'd like libgsoap to be reasonably independent of soapC.c/pp so that the calls are only one way (from soapC.c/pp to stdsoap2.c/pp and not back). Users reported these link problems when libgsoap included dom.c/pp.

I'm not sure why the link error occurs, because soap_ssl_client_context isn't defined in dom.c

Cheers,

- Robert

On Nov 23, 2005, at 2:51 PM, Thomas Wana wrote:

Hi Robert,

Just got this bug in, I suspect this is a bug in gsoap
itself and not in my package.

Tom

-------- Original Message --------
Subject: Bug#340465: cannot link correctly with ssl version of static gsoap lib Resent-Date: Wed, 23 Nov 2005 16:33:01 UTC, Wed, 23 Nov 2005 08:33:04 -0800
Resent-From: John van der Kamp <[EMAIL PROTECTED]>
Resent-To: debian-bugs-dist@lists.debian.org
Resent-CC: Thomas Wana <[EMAIL PROTECTED]>
Date: Wed, 23 Nov 2005 17:19:03 +0100
From: John van der Kamp <[EMAIL PROTECTED]>
Reply-To: John van der Kamp <[EMAIL PROTECTED]>, [EMAIL PROTECTED]
To: Debian Bug Tracking System <[EMAIL PROTECTED]>

Package: gsoap
Version: 2.7.6c-1
Severity: normal

While trying to link with -lgsoapssl++, there are still unresolved symbols:

undefined reference to `soap_dom_current_nstr'
undefined reference to `soap_ssl_client_context'

This is because the dom.c/dom.cpp file is compiled in the source,
but not included in the .a file.

A patch for the Makefile* files is attached, which solves the problem.

John

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-k7
Locale: LANG=en_GB, LC_CTYPE=en_GB

Versions of packages gsoap depends on:
ii libc6 2.3.5-6 GNU C Library: Shared libraries an
ii  libgcc1                       1:4.0.2-2  GCC support library
ii libstdc++6 4.0.2-2 The GNU Standard C++ Library v3

-- no debconf information

diff -Nurb gsoap-2.7-orig/soapcpp2/Makefile.am gsoap-2.7/soapcpp2/Makefile.am --- gsoap-2.7-orig/soapcpp2/Makefile.am 2005-09-16 14:44:53.000000000 +0200
+++ gsoap-2.7/soapcpp2/Makefile.am      2005-10-27 14:45:33.779178592 +0200
@@ -37,9 +37,9 @@
libgsoapck_a_CFLAGS=$(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
 libgsoapck___a_SOURCES=stdsoap2_ck_cpp.cpp
libgsoapck___a_CXXFLAGS=$(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
-libgsoapssl_a_SOURCES=stdsoap2_ssl.c
+libgsoapssl_a_SOURCES=stdsoap2_ssl.c dom.c
libgsoapssl_a_CFLAGS=$(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM
-libgsoapssl___a_SOURCES=stdsoap2_ssl_cpp.cpp
+libgsoapssl___a_SOURCES=stdsoap2_ssl_cpp.cpp dom.cpp
libgsoapssl___a_CXXFLAGS=$(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM

 BUILT_SOURCES=stdsoap2_cpp.cpp $(lib_LIBRARIES)
diff -Nurb gsoap-2.7-orig/soapcpp2/Makefile.in gsoap-2.7/soapcpp2/Makefile.in --- gsoap-2.7-orig/soapcpp2/Makefile.in 2005-09-16 14:45:52.000000000 +0200
+++ gsoap-2.7/soapcpp2/Makefile.in      2005-10-27 14:46:47.896910984 +0200
@@ -111,9 +111,9 @@
libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
 libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp
libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_COOKIES
-libgsoapssl_a_SOURCES = stdsoap2_ssl.c
+libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM
-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp
+libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom.cpp
libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) -D$(platform) -DWITH_OPENSSL -DWITH_DOM

 BUILT_SOURCES = stdsoap2_cpp.cpp $(lib_LIBRARIES)
@@ -143,11 +143,13 @@
 libgsoapck_a_OBJECTS = $(am_libgsoapck_a_OBJECTS)
 libgsoapssl___a_AR = $(AR) cru
 libgsoapssl___a_LIBADD =
-am_libgsoapssl___a_OBJECTS = libgsoapssl___a-stdsoap2_ssl_cpp.$(OBJEXT) +am_libgsoapssl___a_OBJECTS = libgsoapssl___a-stdsoap2_ssl_cpp.$(OBJEXT) \
+       libgsoapssl___a-dom.$(OBJEXT)
 libgsoapssl___a_OBJECTS = $(am_libgsoapssl___a_OBJECTS)
 libgsoapssl_a_AR = $(AR) cru
 libgsoapssl_a_LIBADD =
-am_libgsoapssl_a_OBJECTS = libgsoapssl_a-stdsoap2_ssl.$(OBJEXT)
+am_libgsoapssl_a_OBJECTS = libgsoapssl_a-stdsoap2_ssl.$(OBJEXT) \
+       libgsoapssl_a-dom.$(OBJEXT)
 libgsoapssl_a_OBJECTS = $(am_libgsoapssl_a_OBJECTS)

 DEFS = @DEFS@
@@ -161,7 +163,9 @@
 @AMDEP_TRUE@   ./$(DEPDIR)/libgsoap_a-stdsoap2.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/libgsoapck___a-stdsoap2_ck_cpp.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/libgsoapck_a-stdsoap2_ck.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/libgsoapssl___a-dom.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po \
[EMAIL PROTECTED]@      ./$(DEPDIR)/libgsoapssl_a-dom.Po \
 @AMDEP_TRUE@   ./$(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
        $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -251,11 +255,13 @@
$(libgsoapck_a_AR) libgsoapck.a $(libgsoapck_a_OBJECTS) $(libgsoapck_a_LIBADD)
        $(RANLIB) libgsoapck.a
 libgsoapssl___a-stdsoap2_ssl_cpp.$(OBJEXT): stdsoap2_ssl_cpp.cpp
+libgsoapssl___a-dom.$(OBJEXT): dom.cpp
libgsoapssl++.a: $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_DEPENDENCIES)
        -rm -f libgsoapssl++.a
$(libgsoapssl___a_AR) libgsoapssl++.a $(libgsoapssl___a_OBJECTS) $(libgsoapssl___a_LIBADD)
        $(RANLIB) libgsoapssl++.a
 libgsoapssl_a-stdsoap2_ssl.$(OBJEXT): stdsoap2_ssl.c
+libgsoapssl_a-dom.$(OBJEXT): dom.c
 libgsoapssl.a: $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_DEPENDENCIES)
        -rm -f libgsoapssl.a
$(libgsoapssl_a_AR) libgsoapssl.a $(libgsoapssl_a_OBJECTS) $(libgsoapssl_a_LIBADD)
@@ -271,7 +277,9 @@
@AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ [EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ [EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@

 distclean-depend:
@@ -324,6 +332,18 @@
@AMDEP_TRUE@ depfile='$(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.Po' tmpdepfile='$(DEPDIR)/libgsoapssl_a-stdsoap2_ssl.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-stdsoap2_ssl.obj `cygpath -w stdsoap2_ssl.c`
+
+libgsoapssl_a-dom.o: dom.c
[EMAIL PROTECTED]@ source='dom.c' object='libgsoapssl_a-dom.o' libtool=no @AMDEPBACKSLASH@ [EMAIL PROTECTED]@ depfile='$(DEPDIR)/libgsoapssl_a-dom.Po' tmpdepfile='$(DEPDIR)/libgsoapssl_a-dom.TPo' @AMDEPBACKSLASH@
[EMAIL PROTECTED]@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.o `test -f 'dom.c' || echo '$(srcdir)/'`dom.c
+
+libgsoapssl_a-dom.obj: dom.c
[EMAIL PROTECTED]@ source='dom.c' object='libgsoapssl_a-dom.obj' libtool=no @AMDEPBACKSLASH@ [EMAIL PROTECTED]@ depfile='$(DEPDIR)/libgsoapssl_a-dom.Po' tmpdepfile='$(DEPDIR)/libgsoapssl_a-dom.TPo' @AMDEPBACKSLASH@
[EMAIL PROTECTED]@      $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl_a_CFLAGS) $(CFLAGS) -c -o libgsoapssl_a-dom.obj `cygpath -w dom.c`
 CCDEPMODE = @CCDEPMODE@

 .cpp.o:
@@ -373,6 +393,18 @@
@AMDEP_TRUE@ depfile='$(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.Po' tmpdepfile='$(DEPDIR)/libgsoapssl___a-stdsoap2_ssl_cpp.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@   $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-stdsoap2_ssl_cpp.obj `cygpath -w stdsoap2_ssl_cpp.cpp`
+
+libgsoapssl___a-dom.o: dom.cpp
[EMAIL PROTECTED]@ source='dom.cpp' object='libgsoapssl___a-dom.o' libtool=no @AMDEPBACKSLASH@ [EMAIL PROTECTED]@ depfile='$(DEPDIR)/libgsoapssl___a-dom.Po' tmpdepfile='$(DEPDIR)/libgsoapssl___a-dom.TPo' @AMDEPBACKSLASH@
[EMAIL PROTECTED]@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom.o `test -f 'dom.cpp' || echo '$(srcdir)/'`dom.cpp
+
+libgsoapssl___a-dom.obj: dom.cpp
[EMAIL PROTECTED]@ source='dom.cpp' object='libgsoapssl___a-dom.obj' libtool=no @AMDEPBACKSLASH@ [EMAIL PROTECTED]@ depfile='$(DEPDIR)/libgsoapssl___a-dom.Po' tmpdepfile='$(DEPDIR)/libgsoapssl___a-dom.TPo' @AMDEPBACKSLASH@
[EMAIL PROTECTED]@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsoapssl___a_CXXFLAGS) $(CXXFLAGS) -c -o libgsoapssl___a-dom.obj `cygpath -w dom.cpp`
 CXXDEPMODE = @CXXDEPMODE@
 uninstall-info-am:
 includeHEADERS_INSTALL = $(INSTALL_HEADER)



--- End Message ---

Reply via email to