On Wed, Jun 27, 2001 at 07:54:43PM -0500, Ardo van Rangelrooij wrote: > > 5) xmlrpc-c includes its own copy of expat (under a different soname) for > > binary compatibility with other Linux versions. I'd prefer not to > > change this, because it would make it hard for my users to build > > binaries that worked on more than one distro. > > Well, as maintainer of the expat and libxmltok packages I would really > appreciate it if you could make an effort to use the standalone copy.
This will make Debian binary-incompatible with other Linux distributions, which I consider a very serious problem. Let me see if I can explain. Here's ldd output from an xmlrpc-c application compiled on another distro (ldd is run on the Debian system). libxmlrpc.so.3 => /usr/lib/libxmlrpc.so.3 (0x4001a000) libxmlrpc_xmlparse.so.3 => /usr/lib/libxmlrpc_xmlparse.so.3 (0x40026000) libxmlrpc_xmltok.so.3 => /usr/lib/libxmlrpc_xmltok.so.3 (0x4002f000) libc.so.6 => /lib/libc.so.6 (0x40041000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) And the same application compiled on Debian: libxmlrpc.so.3 => /usr/lib/libxmlrpc.so.3 (0x4001a000) libxmlrpc_xmlparse.so.3 => /usr/lib/libxmlrpc_xmlparse.so.3 (0x40026000) libxmlrpc_xmltok.so.3 => /usr/lib/libxmlrpc_xmltok.so.3 (0x4002f000) libc.so.6 => /lib/libc.so.6 (0x40041000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) The ldd output is identical on both systems, and I can scp binaries from one system to the other, and expect them to run. The sonames libxmlrpc_xmlparse.so.3 and libxmlrpc_xmltok.so.3 are part of the xmlrpc-c ABI (application binary interface), which I guarantee for all users of my software on Linux. An installation of xmlrpc-c which does not provide these sonames is broken. > I also noticed you use the old version of expat, not 1.95. Any > particular reason? Yes. I use James Clark's stable 1.x version of expat, not the 2.x development series maintained by Clark Cooper. Do the two versions have identical ABIs? If not, it will be quite a few months before I can consider upgrading. Basically, I think that we'd both have a much easier life if xmlrpc-c continued to use its own private version of expat. ;-) But if you feel strongly that this is the wrong thing to do, we'll need to work together to figure out a way to support the xmlrpc-c ABI under Debian. > > 7) The modules are named xmlrpc-c0, xmlrpc-c-dev and xmlrpc-c-apps. > > Should I use a different naming convention? > > You could also use libxmlrpc-c0 and libxmlrpc-c-dev. That way it's easy > to spot they're libraries. There might even be a policy about this. I looked long and hard, but I could not find any policy. I may actually rename the packages to libxmlrpc-c3 and libxmlrpc-c-dev, which would better match the sonames. > > So those are all the problems I *know* about. ;-) Are there any others > > which I've missed entirely? > > Well, did you read the policy manual? Of course. Cheers, Eric