Hi Petter,

Can you please confirm that you are using libxmlrpc-c0-dev?
In the Sarge (testing) distribution, the current package is libxmlrpc-c3-dev.

If not, can you try upgrading and test again?

cheers,
Chris


On 5/1/05, Petter Reinholdtsen <[EMAIL PROTECTED]> wrote:
> 
> Package: libxmlrpc-c0-dev
> Version: 0.9.9-3
> Severity: important
> 
> Severity important, as this effect all C++ users of the library
> without making it unusable for all C users.
> 
> I discovered a problem with the C++ bindings when trying to use
> libxmlrpc with a C++ project.  The symbol name mangling used in
> /usr/lib/libxmlrpc_cpp.a is not the same as the one used by the
> current sarge version of 'c++', GCC debian version 1:3.3.5-12.
> 
> The symptoms are that several symbols are missing at the link stage.
> For example XmlRpcValue::makeArray() is missing.
> 
> I made this test code to demonstrate the problem (xmlrpctest.cpp):
> 
>   #include <XmlRpcCpp.h>
>   int main(int argc, char *argv[])
>   {
>       XmlRpcValue param_array;
>       param_array = XmlRpcValue::makeArray();
>       return 0;
>   }
> 
> I compile it, and try to link it with libxml.  Notice how the compiled
> symbol _ZN11XmlRpcValue9makeArrayEv (XmlRpcValue::makeArray()) do not
> match the symbol makeArray__11XmlRpcValue
> (XmlRpcValue::makeArray(void)) present in libxmlrpc_cpp.a.  I believe
> libxmlrpc-c0-dev need to be rebuilt with the latest C++ verssions in
> Sarge, and the library name need to change to reflect the C++ ABI
> change.
> 
>   % c++ -c xmlrpctest.cpp
>   % nm xmlrpctest.o
>            U __gxx_personality_v0
>   00000000 T main
>            U _Unwind_Resume
>            U xmlrpc_DECREF
>            U xmlrpc_INCREF
>            U _ZN11XmlRpcValue9makeArrayEv
>   00000000 W _ZN11XmlRpcValueaSERKS_
>            U _ZN11XmlRpcValueC1Ev
>   00000000 W _ZN11XmlRpcValueD1Ev
>   % nm xmlrpctest.o |c++filt
>            U __gxx_personality_v0
>   00000000 T main
>            U _Unwind_Resume
>            U xmlrpc_DECREF
>            U xmlrpc_INCREF
>            U XmlRpcValue::makeArray()
>   00000000 W XmlRpcValue::operator=(XmlRpcValue const&)
>            U XmlRpcValue::XmlRpcValue()
>   00000000 W XmlRpcValue::~XmlRpcValue()
>   % nm /usr/lib/libxmlrpc_cpp.a|c++filt |grep makeA
>   00000844 T XmlRpcValue::makeArray(void)
>   % nm /usr/lib/libxmlrpc_cpp.a |grep makeA
>   00000844 T makeArray__11XmlRpcValue
>   %
> 
> -- System Information:
> Debian Release: 3.1
>   APT prefers testing
>   APT policy: (2100, 'testing')
> Architecture: i386 (i686)
> Kernel: Linux 2.6.8-2-686
> Locale: LANG=no_NO, LC_CTYPE=no_NO (charmap=ISO-8859-1)
> 
> Versions of packages libxmlrpc-c0-dev depends on:
> ii  libc6-dev                   2.3.2.ds1-21 GNU C Library: Development 
> Librari
> ii  libxmlrpc-c0                0.9.9-3      A lightweight RPC library based 
> on
> 
> -- no debconf information
> 
>

Reply via email to