Re: soup, glib2/libxml2
Michael Rothwell <[email protected]> 27 Aug 2002 22:45:31 -0400
| Newsgroups | gmane.comp.gnome.ximian.soup |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 2002-08-27 at 21:10, Michael Rothwell wrote:
> version of soup that uses glib2 and libxml2? If not, is one planned?
Well, I fiddled with the source code a little, and built soap with
libxml2 and glib2. Patch attached. tests/simple-test works.
tests/stress-test seems to work. Everything else segfaults.
I ran server-test inside gdb, and telnetted to its port. I typed
"<hello>hello</hello>" and hit enter twice. Here's a backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x4206de1c in _int_free () from /lib/i686/libc.so.6
(gdb) bt
#0 0x4206de1c in _int_free () from /lib/i686/libc.so.6
#1 0x4206e89c in free () from /lib/i686/libc.so.6
#2 0x4007fdc4 in g_free () from /usr/lib/libglib-2.0.so.0
#3 0x40040b11 in destroy_message (msg=0x80542e0) at soup-server.c:252
#4 0x40040fb8 in read_headers_cb (headers=0x400488ed,
encoding=0x8054478,
content_len=0x805447c, user_data=0x80542e0) at soup-server.c:534
#5 0x4004642a in soup_transfer_read_cb (iochannel=0x8054400,
condition=G_IO_IN,
r=0x8054458) at soup-transfer.c:513
#6 0x4009b2ef in g_io_unix_dispatch () from /usr/lib/libglib-2.0.so.0
#7 0x40079e85 in g_main_dispatch () from /usr/lib/libglib-2.0.so.0
#8 0x4007aeb8 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#9 0x4007b1cd in g_main_context_iterate () from
/usr/lib/libglib-2.0.so.0
#10 0x4007b93f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#11 0x40041af5 in soup_server_run (server=0x804a260) at
soup-server.c:1095
#12 0x08048ee7 in main (argc=1, argv=0xbffff8e4) at server-test.c:244
#13 0x42016664 in __libc_start_main () from /lib/i686/libc.so.6
--
Michael Rothwell
e: rothwell at holly-springs.nc.us
k: http://www.rothwells.info/rothwell-public-key.txt
2patch.diff
(text/plain, 6.1 KB)
? 2patch.diff
? autom4te-2.53.cache
? stamp-h1
Index: configure.in
===================================================================
RCS file: /cvs/gnome/soup/configure.in,v
retrieving revision 1.57
diff -u -r1.57 configure.in
--- configure.in 12 Mar 2002 00:38:47 -0000 1.57
+++ configure.in 28 Aug 2002 02:42:32 -0000
@@ -74,9 +74,12 @@
AM_PATH_GLIB(1.2.0,,
AC_MSG_ERROR([Cannot find GLIB: Is glib-config in path?]))
-GLIB_CFLAGS=`glib-config --cflags glib`
-GLIB_LIBS=`glib-config --libs glib`
-GMODULE_LIBS=`glib-config --libs gmodule`
+#GLIB_CFLAGS=`glib-config --cflags glib`
+#GLIB_LIBS=`glib-config --libs glib`
+#GMODULE_LIBS=`glib-config --libs gmodule`
+GLIB_CFLAGS=`pkg-config glib-2.0 glib --cflags`
+GLIB_LIBS=`pkg-config glib-2.0 --libs`
+GMODULE_LIBS=`pkg-config glib-2.0 gmodule --libs`
AC_SUBST(GLIB_CFLAGS)
AC_SUBST(GLIB_LIBS)
Index: src/libsoup/soup-dav-server.c
===================================================================
RCS file: /cvs/gnome/soup/src/libsoup/soup-dav-server.c,v
retrieving revision 1.11
diff -u -r1.11 soup-dav-server.c
--- src/libsoup/soup-dav-server.c 12 Mar 2002 00:38:58 -0000 1.11
+++ src/libsoup/soup-dav-server.c 28 Aug 2002 02:42:34 -0000
@@ -11,9 +11,9 @@
#include <ctype.h>
#include <glib.h>
#include <string.h>
-#include <tree.h>
-#include <parser.h>
-#include <xmlmemory.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xmlmemory.h>
#include "soup-dav.h"
#include "soup-dav-server.h"
Index: src/libsoup/soup-parser.c
===================================================================
RCS file: /cvs/gnome/soup/src/libsoup/soup-parser.c,v
retrieving revision 1.7
diff -u -r1.7 soup-parser.c
--- src/libsoup/soup-parser.c 15 Jun 2001 14:17:45 -0000 1.7
+++ src/libsoup/soup-parser.c 28 Aug 2002 02:42:34 -0000
@@ -9,7 +9,7 @@
*/
#include <string.h>
-#include <parser.h>
+#include <libxml/parser.h>
#include "soup-parser.h"
Index: src/libsoup/soup-serializer.h
===================================================================
RCS file: /cvs/gnome/soup/src/libsoup/soup-serializer.h,v
retrieving revision 1.11
diff -u -r1.11 soup-serializer.h
--- src/libsoup/soup-serializer.h 14 Sep 2001 23:53:16 -0000 1.11
+++ src/libsoup/soup-serializer.h 28 Aug 2002 02:42:34 -0000
@@ -13,7 +13,7 @@
#include <time.h>
#include <glib.h>
-#include <tree.h>
+#include <libxml/tree.h>
#include <libsoup/soup-message.h>
Index: src/libwsdl/wsdl-schema-glib.c
===================================================================
RCS file: /cvs/gnome/soup/src/libwsdl/wsdl-schema-glib.c,v
retrieving revision 1.6
diff -u -r1.6 wsdl-schema-glib.c
--- src/libwsdl/wsdl-schema-glib.c 27 Aug 2001 01:38:53 -0000 1.6
+++ src/libwsdl/wsdl-schema-glib.c 28 Aug 2002 02:42:35 -0000
@@ -12,7 +12,7 @@
#include <glib.h>
#include <string.h>
-#include <tree.h>
+#include <libxml/tree.h>
#include "wsdl-schema.h"
#include "wsdl-schema-glib.h"
Index: src/libwsdl/wsdl-schema-glib.h
===================================================================
RCS file: /cvs/gnome/soup/src/libwsdl/wsdl-schema-glib.h,v
retrieving revision 1.7
diff -u -r1.7 wsdl-schema-glib.h
--- src/libwsdl/wsdl-schema-glib.h 29 Aug 2001 23:01:36 -0000 1.7
+++ src/libwsdl/wsdl-schema-glib.h 28 Aug 2002 02:42:35 -0000
@@ -13,7 +13,7 @@
#define _WSDL_SCHEMA_GLIB_H_
#include <glib.h>
-#include <tree.h>
+#include <libxml/tree.h>
#include <libwsdl/wsdl-typecodes.h>
void wsdl_schema_glib_start_element (const xmlDocPtr doc,
Index: src/libwsdl/wsdl-schema.c
===================================================================
RCS file: /cvs/gnome/soup/src/libwsdl/wsdl-schema.c,v
retrieving revision 1.6
diff -u -r1.6 wsdl-schema.c
--- src/libwsdl/wsdl-schema.c 27 Aug 2001 01:38:53 -0000 1.6
+++ src/libwsdl/wsdl-schema.c 28 Aug 2002 02:42:35 -0000
@@ -12,7 +12,7 @@
#include <glib.h>
#include <string.h>
-#include <tree.h>
+#include <libxml/tree.h>
#include "wsdl-schema.h"
#include "wsdl-schema-glib.h"
Index: src/libwsdl/wsdl-schema.h
===================================================================
RCS file: /cvs/gnome/soup/src/libwsdl/wsdl-schema.h,v
retrieving revision 1.6
diff -u -r1.6 wsdl-schema.h
--- src/libwsdl/wsdl-schema.h 27 Aug 2001 01:38:53 -0000 1.6
+++ src/libwsdl/wsdl-schema.h 28 Aug 2002 02:42:35 -0000
@@ -13,7 +13,7 @@
#define _WSDL_SCHEMA_H_
#include <glib.h>
-#include <tree.h>
+#include <libxml/tree.h>
#define WSDLNS "http://schemas.xmlsoap.org/wsdl/"
#define SOAPNS "http://schemas.xmlsoap.org/wsdl/soap/"
Index: src/libwsdl/wsdl-soap-parse.c
===================================================================
RCS file: /cvs/gnome/soup/src/libwsdl/wsdl-soap-parse.c,v
retrieving revision 1.18
diff -u -r1.18 wsdl-soap-parse.c
--- src/libwsdl/wsdl-soap-parse.c 13 Mar 2002 10:29:04 -0000 1.18
+++ src/libwsdl/wsdl-soap-parse.c 28 Aug 2002 02:42:35 -0000
@@ -11,9 +11,9 @@
#include <glib.h>
#include <string.h>
#include <stdlib.h>
-#include <tree.h>
-#include <parser.h>
-#include <xmlmemory.h>
+#include <libxml/tree.h>
+#include <libxml/parser.h>
+#include <libxml/xmlmemory.h>
#include <libsoup/soup-parser.h>
Index: src/soup-wsdl/wsdl-parse.c
===================================================================
RCS file: /cvs/gnome/soup/src/soup-wsdl/wsdl-parse.c,v
retrieving revision 1.16
diff -u -r1.16 wsdl-parse.c
--- src/soup-wsdl/wsdl-parse.c 14 Sep 2001 23:53:17 -0000 1.16
+++ src/soup-wsdl/wsdl-parse.c 28 Aug 2002 02:42:37 -0000
@@ -11,9 +11,9 @@
#include <glib.h>
#include <string.h>
#include <stdlib.h>
-#include <parser.h>
-#include <parserInternals.h>
-#include <xmlmemory.h>
+#include <libxml/parser.h>
+#include <libxml/parserInternals.h>
+#include <libxml/xmlmemory.h>
#include <libwsdl/wsdl-schema.h>
Index: src/soup-wsdl/wsdl-parse.h
===================================================================
RCS file: /cvs/gnome/soup/src/soup-wsdl/wsdl-parse.h,v
retrieving revision 1.11
diff -u -r1.11 wsdl-parse.h
--- src/soup-wsdl/wsdl-parse.h 29 Aug 2001 23:01:39 -0000 1.11
+++ src/soup-wsdl/wsdl-parse.h 28 Aug 2002 02:42:37 -0000
@@ -12,7 +12,7 @@
#define _WSDL_PARSE_H_
#include <glib.h>
-#include <tree.h>
+#include <libxml/tree.h>
#include <libwsdl/wsdl-typecodes.h>
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQA9bDlKq9YwRBS9+sQRAgS3AKCaXji1PqTBRckB7j+jgqOL6gM8hwCgsqwl iak4wUy2kpbt/njT74ChM9Q= =bB/C -----END PGP SIGNATURE-----