After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 669437 - libxml2 symbol versioning causes problems
libxml2 symbol versioning causes problems
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: module sets
unspecified
Other All
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on:
Blocks:
 
 
Reported: 2012-02-06 03:04 UTC by Allison Karlitskaya (desrt)
Modified: 2012-02-15 15:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
core-deps-3.4: fix symbol versioning in libxml2 (2.66 KB, patch)
2012-02-15 15:35 UTC, Allison Karlitskaya (desrt)
committed Details | Review

Description Allison Karlitskaya (desrt) 2012-02-06 03:04:30 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
Comment 1 Craig Keogh 2012-02-06 04:39:08 UTC
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
Comment 2 Christophe Fergeau 2012-02-15 14:26:56 UTC
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.
Comment 3 Allison Karlitskaya (desrt) 2012-02-15 15:35:22 UTC
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 4 Javier Jardón (IRC: jjardon) 2012-02-15 15:55:56 UTC
Comment on attachment 207666 [details] [review]
core-deps-3.4: fix symbol versioning in libxml2

This time you have been faster ;)
Comment 5 Javier Jardón (IRC: jjardon) 2012-02-15 15:56:49 UTC
commit 8e4e30c32d5cb311e9a5bdd0b3773499c12c2a2b