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
>
>