[OpenSER-Devel] Building openser against new xmlrpc-c

Barry deFreese bddebian at comcast.net
Tue Sep 11 18:17:55 CEST 2007


Hello,

In Ubuntu Gutsy we recently upgraded the xmlrpc-c package to 1.06.17.  
It appears that the API for xmlrpc-c has changed.  I am trying to fix 
openser before Gutsy releases if at all possible.

Here is the text from xmlrpc-cs server_abyss.h:

/*=========================================================================
**  Content Handlers
**=======================================================================*/
/* Abyss contents handlers xmlrpc_server_abyss_rpc2_handler()
   and xmlrpc_server_abyss_default_handler() were available in older
   Xmlrpc-c, but starting with Release 1.01, they are not.  Instead,
   call xmlrpc_server_abyss_set_handlers() to install them.

   Alternatively, you can write your own handlers that do the same thing.
   It's not hard, and if you're writing low enough level Abyss code that
   you can't use xmlrpc_server_abyss_set_handlers(), you probably want to
   anyway.
*/

I have tried just a straight replacement of rpc2_hander() and 
default_handler() with set_handler() in modules/mi_xmlrpc/mi_xmlrpc.c 
(though I don't believe that is correct) and I get further but I also 
hit several pointer errors:

In file included from xr_parser.c:32:
xr_parser_lib.h: In function 'validateType':
xr_parser_lib.h:61: error: dereferencing pointer to incomplete type
xr_parser_lib.h:64: error: dereferencing pointer to incomplete type
xr_parser_lib.h: In function 'accessStringValue':
xr_parser_lib.h:83: error: dereferencing pointer to incomplete type
xr_parser_lib.h:84: error: dereferencing pointer to incomplete type
xr_parser_lib.h: At top level:
xr_parser_lib.h:93: error: conflicting types for 'xmlrpc_read_string'
/usr/include/xmlrpc-c/base.h:150: error: previous declaration of 
'xmlrpc_read_string' was here

If anyone could help me get this fixed for Gutsy I would appreciate it.

Thanks!

Barry deFreese (aka bddebian on IRC)



More information about the Devel mailing list