GNOME Bugzilla – Bug 677606
ICU_LIBS should be handled as LIBADD, not as LDFLAGS, to prevent linking errors
Last modified: 2012-08-28 15:38:25 UTC
(as reported downstream at https://bugs.gentoo.org/show_bug.cgi?id=417539) If libxml2-2.8.0 is built with --with-icu --with-python on a system that has an older version of libxml2 installed, then during "make install", libxml2mod.so gets relinked to the systemwide version of libxml2.so.2 instead of libxml2.so.2 from the build tree, and fails at runtime if symbol versions from the older libxml2.so.2 are not available. This effectively makes it impossible to build a libxml2-2.8.0 binary package on a system that does not already have libxml2-2.8.0 installed. Investigation by Rafał Mużyło and Arfrever Frehtes Taifersar Arahesis revealed the cause of the problem to be that libxml2's configure was adding ICU_LIBS to LDFLAGS instead of to LIBADD. This resulted in GNU libtool using the wrong argument order in its relinking command that gets run during "make install". The attached patch by Arfrever Frehtes Taifersar Arahesis fixes the problem.
Created attachment 215823 [details] [review] proposed patch
Looks reasonable :-) I just tweaked it a bit to apply to Makefile.am, this is not pushed upstream: http://git.gnome.org/browse/libxml2/commit/?id=1f01f49ba6abccc93a1779a05a33c3fb9c6efd4e thanks ! Daniel