I'm using a stronger setup for --as-needed failure checks and it seems like with --as-needed forced on, the latest version of xmlrpc-c, albeit building (new, it didn't before) fail to links to libxml2: Linking CXX executable ../bin/ctest /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/../../../../lib64/libxmlrpc.so: undefined reference to `xmlFreeParserCtxt' /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/../../../../lib64/libxmlrpc.so: undefined reference to `xmlCreatePushParserCtxt' /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.1/../../../../lib64/libxmlrpc.so: undefined reference to `xmlParseChunk' collect2: ld returned 1 exit status make[2]: *** [bin/ctest] Error 1 make[1]: *** [Source/CMakeFiles/ctest.dir/all] Error 2 make: *** [all] Error 2
+*xmlrpc-c-1.16.04 (29 Nov 2008) + + 29 Nov 2008; Peter Alfredsen <loki_val@gentoo.org> + +files/xmlrpc-c-1.16.04-abyss-disable.patch, + +files/xmlrpc-c-1.16.04-compile.patch, + +files/xmlrpc-c-1.16.04-cpplinking.patch, + +files/xmlrpc-c-1.16.04-linking-order.patch, +xmlrpc-c-1.16.04.ebuild: + Bump, bug 246083. Also solves bug 235989 (!!). + Diego: Thank you for your blog posts, they gave me the insight I needed to solve this one.
I don't think it's fully fixed now. I.e. ldd -r /usr/lib/libxmlrpc_client++.so linux-gate.so.1 => (0xb8004000) libxmlrpc_client.so.3 => /usr/lib/libxmlrpc_client.so.3 (0xb7fad000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libstdc++.so.6 (0xb7ec0000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libgcc_s.so.1 (0xb7eb3000) libc.so.6 => /lib/libc.so.6 (0xb7d76000) libxmlrpc_util.so.3 => /usr/lib/libxmlrpc_util.so.3 (0xb7d71000) libxmlrpc.so.3 => /usr/lib/libxmlrpc.so.3 (0xb7d5f000) libcurl.so.4 => /usr/lib/libcurl.so.4 (0xb7d20000) libm.so.6 => /lib/libm.so.6 (0xb7cfb000) /lib/ld-linux.so.2 (0xb8005000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7bc1000) libidn.so.11 => /usr/lib/libidn.so.11 (0xb7b8f000) libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7b54000) librt.so.1 => /lib/librt.so.1 (0xb7b4b000) libgssapi.so.2 => /usr/lib/libgssapi.so.2 (0xb7b20000) libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0xb7b1a000) libkrb5.so.25 => /usr/lib/libkrb5.so.25 (0xb7ab5000) libhx509.so.4 => /usr/lib/libhx509.so.4 (0xb7a78000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7a73000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb792c000) libasn1.so.8 => /usr/lib/libasn1.so.8 (0xb78b0000) libwind.so.0 => /usr/lib/libwind.so.0 (0xb7887000) libroken.so.18 => /usr/lib/libroken.so.18 (0xb7873000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7841000) libdl.so.2 => /lib/libdl.so.2 (0xb783c000) libresolv.so.2 => /lib/libresolv.so.2 (0xb7829000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7811000) libz.so.1 => /lib/libz.so.1 (0xb77fe000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb7760000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb774f000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb76dc000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb76d7000) liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb76c9000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb76b0000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb766a000) libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7600000) undefined symbol: _ZNK8xmlrpc_c12packetSocket9writeWaitERKNS_9packetPtrE (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c12packetSocketD1Ev (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c12packetSocket8readWaitEPbPNS_9packetPtrE (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c9packetPtrC1Ev (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c6packetC1EPKcj (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c9packetPtrC1EPNS_6packetE (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZN8xmlrpc_c12packetSocketC1Ei (/usr/lib/libxmlrpc_client++.so) undefined symbol: _ZNK8xmlrpc_c9packetPtrptEv (/usr/lib/libxmlrpc_client++.so) LD_PRELOAD="/usr/lib/libxmlrpc_packetsocket.so /usr/lib/libxmlrpc++.so" ldd -r /usr/lib/libxmlrpc_client++.so linux-gate.so.1 => (0xb7f36000) /usr/lib/libxmlrpc_packetsocket.so (0xb7f02000) /usr/lib/libxmlrpc++.so (0xb7eec000) libxmlrpc_client.so.3 => /usr/lib/libxmlrpc_client.so.3 (0xb7ec2000) libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libstdc++.so.6 (0xb7dd5000) libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libgcc_s.so.1 (0xb7dc8000) libc.so.6 => /lib/libc.so.6 (0xb7c8a000) libxmlrpc.so.3 => /usr/lib/libxmlrpc.so.3 (0xb7c79000) libxmlrpc_util.so.3 => /usr/lib/libxmlrpc_util.so.3 (0xb7c74000) libcurl.so.4 => /usr/lib/libcurl.so.4 (0xb7c35000) libm.so.6 => /lib/libm.so.6 (0xb7c10000) /lib/ld-linux.so.2 (0xb7f37000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7ad5000) libidn.so.11 => /usr/lib/libidn.so.11 (0xb7aa3000) libldap-2.3.so.0 => /usr/lib/libldap-2.3.so.0 (0xb7a69000) librt.so.1 => /lib/librt.so.1 (0xb7a60000) libgssapi.so.2 => /usr/lib/libgssapi.so.2 (0xb7a35000) libheimntlm.so.0 => /usr/lib/libheimntlm.so.0 (0xb7a2f000) libkrb5.so.25 => /usr/lib/libkrb5.so.25 (0xb79c9000) libhx509.so.4 => /usr/lib/libhx509.so.4 (0xb798c000) libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7988000) libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb7841000) libasn1.so.8 => /usr/lib/libasn1.so.8 (0xb77c5000) libwind.so.0 => /usr/lib/libwind.so.0 (0xb779c000) libroken.so.18 => /usr/lib/libroken.so.18 (0xb7787000) libcrypt.so.1 => /lib/libcrypt.so.1 (0xb7755000) libdl.so.2 => /lib/libdl.so.2 (0xb7751000) libresolv.so.2 => /lib/libresolv.so.2 (0xb773e000) libpthread.so.0 => /lib/libpthread.so.0 (0xb7726000) libz.so.1 => /lib/libz.so.1 (0xb7713000) libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb7674000) libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb7663000) libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb75f1000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb75ec000) liblber-2.3.so.0 => /usr/lib/liblber-2.3.so.0 (0xb75de000) libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb75c4000) libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb757e000) libsqlite3.so.0 => /usr/lib/libsqlite3.so.0 (0xb7515000)
(In reply to comment #2) > I don't think it's fully fixed now. *loki_val points towards bug 246749
OK, missed that one, I thought the whole thing was supposed to be fixed in one move. And this bug was older anyway.
(In reply to comment #4) > OK, missed that one, > I thought the whole thing was supposed to be fixed > in one move. And this bug was older anyway. > Ah, it's quite a bit easier to make it build with --as-needed. Anyway, took two hours out of my schedule and I think you will find that this fixes the problems for that bug too: +*xmlrpc-c-1.16.06 (03 Dec 2008) + + 03 Dec 2008; Peter Alfredsen <loki_val@gentoo.org> + -files/xmlrpc-c-1.16.04-abyss-disable.patch, + -files/xmlrpc-c-1.16.04-compile.patch, + -files/xmlrpc-c-1.16.04-cpplinking.patch, + -files/xmlrpc-c-1.16.04-linking-order.patch, + +files/xmlrpc-c-1.16.06-no-undefined.patch, -xmlrpc-c-1.16.04.ebuild, + +xmlrpc-c-1.16.06.ebuild: + Add new version. Upstream accepted our fixes from .04. New fixes included + fixing bug 246749. +