tag 558972 + patch
severity 558972 important
user [email protected]
usertags 558972 + origin-ubuntu natty ubuntu-patch
user [email protected]
usertags 558972 ld-as-needed
user [email protected]
usertags 558972 no-add-needed
thanks

details at http://wiki.debian.org/ToolChain/DSOLinking

a lot of these things seem to be fixed in a new upstream version.
diff -u xmlrpc-c-1.06.27/debian/control xmlrpc-c-1.06.27/debian/control
--- xmlrpc-c-1.06.27/debian/control
+++ xmlrpc-c-1.06.27/debian/control
@@ -12,6 +12,7 @@
 Depends: libxmlrpc-c3 (= ${binary:Version}), libc6-dev, libxmlrpc-core-c3-dev
 Conflicts: libxmlrpc-c-dev, libxmlrpc-c0-dev, xmlrpc-c-dev, libxmlrpc++-dev
 Replaces: libxmlrpc-c-dev
+Recommends: libcurl4-openssl-dev | libcurl3-openssl-dev
 Suggests: xml-rpc-api2cpp, xml-rpc-api2txt
 Description: A lightweight RPC library based on XML and HTTP for C and C++
  XML-RPC is a quick-and-easy way to make procedure calls over the Internet.
diff -u xmlrpc-c-1.06.27/debian/changelog xmlrpc-c-1.06.27/debian/changelog
--- xmlrpc-c-1.06.27/debian/changelog
+++ xmlrpc-c-1.06.27/debian/changelog
@@ -1,3 +1,19 @@
+xmlrpc-c (1.06.27-1ubuntu9) natty; urgency=low
+
+  * Fix library search path.
+
+ -- Matthias Klose <[email protected]>  Thu, 06 Jan 2011 17:37:31 +0100
+
+xmlrpc-c (1.06.27-1ubuntu8) natty; urgency=low
+
+  * Resolve unresolved references in shared libraries. LP: #690779.
+  * Fix build failures with ld --no-add-needed.
+  * Fix build failures with ld --as-needed.
+  * libxmlrpc-c3-dev: Recommend libcurl4-openssl-dev | libcurl3-openssl-dev.
+    LP: #284515.
+
+ -- Matthias Klose <[email protected]>  Thu, 06 Jan 2011 16:45:44 +0100
+
 xmlrpc-c (1.06.27-1ubuntu7) lucid; urgency=low
 
   * SECURITY UPDATE: fix DoS via malformed XML
diff -u xmlrpc-c-1.06.27/debian/patches/series 
xmlrpc-c-1.06.27/debian/patches/series
--- xmlrpc-c-1.06.27/debian/patches/series
+++ xmlrpc-c-1.06.27/debian/patches/series
@@ -5,0 +6 @@
+ld.diff
only in patch2:
unchanged:
--- xmlrpc-c-1.06.27.orig/debian/patches/ld.diff
+++ xmlrpc-c-1.06.27/debian/patches/ld.diff
@@ -0,0 +1,137 @@
+Index: xmlrpc-c-1.06.27/xmlrpc-c-config.test.in
+===================================================================
+--- xmlrpc-c-1.06.27.orig/xmlrpc-c-config.test.in      2011-01-06 
16:26:46.308229001 +0000
++++ xmlrpc-c-1.06.27/xmlrpc-c-config.test.in   2011-01-06 16:34:48.568228998 
+0000
+@@ -90,7 +90,7 @@
+         the_wl_rpath="@WININET_WL_RPATH@ $the_wl_rpath"
+         fi
+       if test "${MUST_BUILD_CURL_CLIENT}" = "yes"; then
+-        the_libs="@CURL_LDADD@ $the_libs"
++        the_libs="$the_libs @CURL_LDADD@"
+         the_rpath="@CURL_RPATH@ $the_rpath"
+         the_wl_rpath="@CURL_WL_RPATH@ $the_wl_rpath"
+         fi
+Index: xmlrpc-c-1.06.27/lib/abyss/src/Makefile
+===================================================================
+--- xmlrpc-c-1.06.27.orig/lib/abyss/src/Makefile       2011-01-06 
16:26:46.148229001 +0000
++++ xmlrpc-c-1.06.27/lib/abyss/src/Makefile    2011-01-06 16:34:48.568228998 
+0000
+@@ -15,6 +15,10 @@
+ CFLAGS += $(CFLAGS_PERSONAL) $(CADD)
+ LIBLDFLAGS = $(LDFLAGS_VERSINFO) -rpath $(LIBINST_DIR)
+ LIBLDFLAGS += $(LADD)
++LIBDEP = -lxmlrpc_util
++ifeq ($(ENABLE_ABYSS_THREADS),yes)
++  LIBDEP += -lpthread
++endif
+ 
+ INCLUDES = -I$(SRCDIR) -I$(SRCDIR)/include -I$(SRCDIR)/lib/util/include
+ 
+@@ -44,7 +48,7 @@
+ 
+ 
+ libxmlrpc_abyss.la: $(ABYSS_OBJS)
+-      $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) $^
++      $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) $^ $(LIBDEP)
+ 
+ $(ABYSS_OBJS):%.lo:%.c
+       $(LIBTOOL) --mode=compile $(CC) -c $(INCLUDES) \
+Index: xmlrpc-c-1.06.27/tools/xmlrpc_transport/Makefile
+===================================================================
+--- xmlrpc-c-1.06.27.orig/tools/xmlrpc_transport/Makefile      2011-01-06 
16:26:46.208229001 +0000
++++ xmlrpc-c-1.06.27/tools/xmlrpc_transport/Makefile   2011-01-06 
16:34:48.568228998 +0000
+@@ -35,8 +35,8 @@
+ 
+ LIBS = $(LIBXMLRPC_CLIENT) $(LIBXMLRPC) $(LIBXMLRPC_XML) $(LIBXMLRPC_UTIL)
+ 
+-xmlrpc_transport:%:%.o $(LIBS) $(UTILS)
+-      $(CCLD) -o $@ $(LDFLAGS) $< $(CLIENT_LDLIBS) $(UTILS)
++xmlrpc_transport:%:%.o $(UTILS) $(LIBS)
++      $(CCLD) -o $@ $(LDFLAGS) $< $(UTILS) $(CLIENT_LDLIBS)
+ 
+ %.o:%.c
+       $(CC) -c $(CFLAGS) $<
+Index: xmlrpc-c-1.06.27/src/Makefile
+===================================================================
+--- xmlrpc-c-1.06.27.orig/src/Makefile 2011-01-06 16:26:46.218229001 +0000
++++ xmlrpc-c-1.06.27/src/Makefile      2011-01-06 16:34:48.568228998 +0000
+@@ -69,17 +69,17 @@
+ # may require the necessary -L options in addition.
+ 
+ LIBXMLRPC_CLIENT_OBJS = xmlrpc_client.lo xmlrpc_client_global.lo
+-LIBXMLRPC_CLIENT_LIBDEP = -lxmlrpc_util -lxmlrpc
++LIBXMLRPC_CLIENT_LIBDEP = -lxmlrpc -lxmlrpc_util -lcurl
+ 
+ LIBXMLRPC_SERVER_OBJS = registry.lo system_method.lo
+-LIBXMLRPC_SERVER_LIBDEP = -lxmlrpc_util -lxmlrpc
++LIBXMLRPC_SERVER_LIBDEP = -lxmlrpc -lxmlrpc_util
+ 
+ LIBXMLRPC_SERVER_ABYSS_OBJS = xmlrpc_server_abyss.lo
+ LIBXMLRPC_SERVER_ABYSS_LIBDEP = \
+-  -lxmlrpc_util -lxmlrpc_server -L$(ABYSS_LIBDIR) -lxmlrpc_abyss -lxmlrpc
++  -lxmlrpc_server -L$(ABYSS_LIBDIR) -lxmlrpc_abyss -lxmlrpc -lxmlrpc_util
+ 
+ LIBXMLRPC_SERVER_CGI_OBJS = xmlrpc_server_cgi.lo
+-LIBXMLRPC_SERVER_CGI_LIBDEP = -lxmlrpc_util -lxmlrpc_server -lxmlrpc
++LIBXMLRPC_SERVER_CGI_LIBDEP = -lxmlrpc_server -lxmlrpc -lxmlrpc_util
+ 
+ LIBXMLRPC_OBJS = \
+       trace.lo \
+@@ -136,10 +136,19 @@
+ 
+ LIBLDFLAGS = $(LDFLAGS_VERSINFO) -rpath $(LIBINST_DIR) $(LIBPATHS) $(LADD)
+ 
++XMLRPC_XMLPARSE_LIBS = -L$(SRCDIR)/lib/expat/xmlparse/.libs -lxmlrpc_xmlparse
++XMLRPC_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc
++XMLRPC_UTIL_LIBS = -L$(SRCDIR)/lib/libutil -lxmlrpc_util
++XMLRPC_SERVER_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_server
++XMLRPC_CLIENT_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_client
++XMLRPC_SERVER_ABYSS_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_server_abyss
++XMLRPC_ABYSS_LIBS = -L$(SRCDIR)/lib/abyss/src -lxmlrpc_abyss
++XMLRPCPP_LIBS = -L. -lxmlrpc++
++XMLRPC_SERVERPP_LIBS = -L. -lxmlrpc_server++
+ 
+ libxmlrpc.la: $(LIBXMLRPC_OBJS)
+       $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) \
+-        $(LIBXMLRPC_OBJS) $(LIBXMLRPC_LIBDEP) 
++        $(LIBXMLRPC_OBJS) $(LIBXMLRPC_LIBDEP) $(XMLRPC_XMLPARSE_LIBS)
+ 
+ libxmlrpc_client.la: $(LIBXMLRPC_CLIENT_OBJS) $(TRANSPORT_OBJS)
+       $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) \
+Index: xmlrpc-c-1.06.27/src/cpp/unix.make
+===================================================================
+--- xmlrpc-c-1.06.27.orig/src/cpp/unix.make    2011-01-06 16:26:46.228229001 
+0000
++++ xmlrpc-c-1.06.27/src/cpp/unix.make 2011-01-06 16:36:41.328228998 +0000
+@@ -6,18 +6,28 @@
+ # This is to be included by 'Makefile'.  Most of the make variables here
+ # come from the main make file.
+ 
++XMLRPC_XMLPARSE_LIBS = -L$(SRCDIR)/lib/expat/xmlparse/.libs -lxmlrpc_xmlparse
++XMLRPC_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc
++XMLRPC_UTIL_LIBS = -L$(SRCDIR)/lib/libutil/.libs -lxmlrpc_util
++XMLRPC_SERVER_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_server
++XMLRPC_CLIENT_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_client
++XMLRPC_SERVER_ABYSS_LIBS = -L$(SRCDIR)/src/.libs -lxmlrpc_server_abyss
++XMLRPC_ABYSS_LIBS = -L$(SRCDIR)/lib/abyss/src/.libs -lxmlrpc_abyss
++XMLRPCPP_LIBS = -L. -lxmlrpc++
++XMLRPC_SERVERPP_LIBS = -L. -lxmlrpc_server++
++
+ libxmlrpc_cpp.$(SHLIB_SUFFIX).$(MAJ).$(MIN): XmlRpcCpp.o
+-      $(SHLIB_RULE)
++      $(SHLIB_RULE) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS) $(XMLRPC_SERVER_LIBS) 
$(XMLRPC_XMLPARSE_LIBS)
+ 
+ libxmlrpc++.$(SHLIB_SUFFIX).$(MAJ).$(MIN): $(LIBXMLRPCPP_OBJS)
+-      $(SHLIB_RULE)
++      $(SHLIB_RULE) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS)
+ 
+ libxmlrpc_server++.$(SHLIB_SUFFIX).$(MAJ).$(MIN): $(LIBXMLRPC_SERVERPP_OBJS)
+-      $(SHLIB_RULE)
++      $(SHLIB_RULE) $(XMLRPC_LIBS) $(XMLRPCPP_LIBS) $(XMLRPC_UTIL_LIBS) 
$(XMLRPC_SERVER_LIBS)
+ 
+ libxmlrpc_server_abyss++.$(SHLIB_SUFFIX).$(MAJ).$(MIN): \
+   $(LIBXMLRPC_SERVER_ABYSSPP_OBJS)
+-      $(SHLIB_RULE)
++      $(SHLIB_RULE) $(XMLRPCPP_LIBS) $(XMLRPC_ABYSS_LIBS) 
$(XMLRPC_SERVER_ABYSS_LIBS) $(XMLRPC_SERVERPP_LIBS) $(XMLRPCPP_LIBS) 
$(XMLRPC_SERVER_LIBS) $(XMLRPC_LIBS) $(XMLRPC_UTIL_LIBS)
+ 
+ libxmlrpc_client++.$(SHLIB_SUFFIX).$(MAJ).$(MIN): $(LIBXMLRPC_CLIENTPP_OBJS)
+-      $(SHLIB_RULE)
++      $(SHLIB_RULE) $(XMLRPC_LIBS) $(XMLRPCPP_LIBS) $(XMLRPC_CLIENT_LIBS) 
$(XMLRPC_UTIL_LIBS)
only in patch2:
unchanged:
--- xmlrpc-c-1.06.27.orig/lib/expat/xmlparse/Makefile
+++ xmlrpc-c-1.06.27/lib/expat/xmlparse/Makefile
@@ -27,7 +27,7 @@
 LIBLDFLAGS = $(LDFLAGS_VERSINFO) -rpath $(LIBINST_DIR) $(LADD)
 
 libxmlrpc_xmlparse.la: $(LIBXMLRPC_XMLPARSE_OBJS)
-       $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) $^
+       $(LIBTOOL) --mode=link $(CCLD) -o $@ $(LIBLDFLAGS) $^ 
-L$(XMLTOKDIR)/.libs -lxmlrpc_xmltok
 
 CFLAGS = $(CFLAGS_COMMON) $(CFLAGS_PERSONAL) $(CADD)
 

Reply via email to