Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 235989 - dev-libs/xmlrpc-c-1.14.07-r1 fails to link to libxml2 when --as-needed is forced
Summary: dev-libs/xmlrpc-c-1.14.07-r1 fails to link to libxml2 when --as-needed is forced
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Peter Alfredsen (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: as-needed
  Show dependency tree
 
Reported: 2008-08-28 08:47 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2008-12-03 00:43 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2008-08-28 08:47:13 UTC
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
Comment 1 Peter Alfredsen (RETIRED) gentoo-dev 2008-11-29 17:19:32 UTC
+*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.
Comment 2 Rafał Mużyło 2008-12-02 19:04:47 UTC
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)

Comment 3 Peter Alfredsen (RETIRED) gentoo-dev 2008-12-02 22:22:55 UTC
(In reply to comment #2)
> I don't think it's fully fixed now.

*loki_val points towards bug 246749
Comment 4 Rafał Mużyło 2008-12-02 23:13:51 UTC
OK, missed that one,
I thought the whole thing was supposed to be fixed
in one move. And this bug was older anyway.
Comment 5 Peter Alfredsen (RETIRED) gentoo-dev 2008-12-03 00:43:38 UTC
(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.
+