GNOME Bugzilla – Bug 669437
libxml2 symbol versioning causes problems
Last modified: 2012-02-15 15:56:49 UTC
I jhbuild with partial_build disabled. I have a system libxml2 and a system libneon linked against that. jhbuild installs its own libxml2. When I attempt to build libmusicbrainz, it links against libneon which uses a symbol-versioned libxml2 from the system. Because of the jhbuild LD_LIBRARY_PATH it tries to get the symbols from the jhbuild libxml2 and fails. As usual, a few options for fixing this: - move libxml2 to the bootstrap moduleset because it's 'dangerous' to install - package libneon so that it gets properly built against libxml2 - fix libxml2 (presumably upstream) to not use symbol versioning
My preference is <systemmodule> libxml2. <systemmodule> hasn't landed yet - bug 656818. Second preference is : (In reply to comment #0) > - package libneon so that it gets properly built against libxml2
The problem is that the latest release of libxml2 has a bug disabling symbol versioning while. Distros are patching it to add symbol versioning back, and this is what causes this problem (jhbuild has non-versioned libxml2 symbols vs distro packages build against the versioned symbols). It has been fixed in git but not in a release ( http://git.gnome.org/browse/libxml2/commit/configure.in?id=00819877651b87842ed878898ba17dba489820f0 ). Adding this patch (and running autoreconf on the patched source) would fix the bug, getting a new libxml2 release would fix it too.
Created attachment 207666 [details] [review] core-deps-3.4: fix symbol versioning in libxml2 The upstream release of libxml2 has a long-standing known bug with not versioning its symbols correctly. All the distos carry a patch for it and this causes problems when system-installed libraries try to link against our copy (which lacks the version information). Start shipping the patch that everyone else is using.
Comment on attachment 207666 [details] [review] core-deps-3.4: fix symbol versioning in libxml2 This time you have been faster ;)
commit 8e4e30c32d5cb311e9a5bdd0b3773499c12c2a2b