[REVIEW-3-5][REVIEW-3-5-1] libxml2 on MacOSX

Stephan Bergmann sbergman at redhat.com
Thu Feb 23 12:48:30 PST 2012


On 02/22/2012 11:54 PM, Norbert Thiebaud wrote:
> as a follow-up to
> it was necessary to use libxml2 as an internal library for MacOSX...
> which was not well supported.
>
> http://cgit.freedesktop.org/libreoffice/core/commit/?id=49843f0f9788e01805d8d0d27428fe5e6a4cc530
>
> is what I had to do to get it to build. that included a change of
> 'layer' for libxml2...
>
> I would appreciate some reviews as I am not very confident about the
> implications...

With

* 
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=5f7667e9c193f281c344fb38408028235c871a15> 
"set back rpath to ure/lib for libxml on MAC"

* 
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=55cece225238e634b8a8ebd0445a9aca4c5c57eb> 
"Add shl/LOADER/URELIB to make --without-sytem-libxml work on Mac OS X"

* 
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=37f527e9892904f49879635d96670a7e4838ec4c> 
"Tentative libcroco fix for Mac OS X --without-system-libxml"

things look good now at least for my Mac OS X 10.6.8 master build 
(--enable-binflter --enable-dbgutil --enable-ext-scripting-beanshell 
--enable-ext-scripting-javascript --enable-python=internal 
--without-system-libxml, make check):

$ find solver -type f -exec bash -c 'otool -L "$0" 2>/dev/null | grep -F 
libxml2 && printf "^^^ %s ^^^\n" "$0"' {} \;

shows that only a handful of executables and dynamic libraries use 
system libxml (/usr/lib/libxml2.2.dylib or 
/usr/local/lib/libxml2.2.dylib)---all of which are apparently only used 
during the build (if at all) and not included in the installation set 
(see below).  Also, URE libraries correctly reference libxml2 via 
@loader_path/libxml2.2.dylib, while libraries from the program directory 
correctly use @loader_path/../ure-link/lib/libxml2.2.dylib.

I suggest to review the above three commits and cherry-pick them into 
libreoffice-3-5 and libreoffice-3-5-0.

Stephan


PS, for the record, the list of "problematic" objects discussed above:

> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgattrib ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgcat ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgcmp ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgcomm ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgconv ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgen ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgexec ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgfilter ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgfmt ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msggrep ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msginit ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgmerge ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msgunfmt ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/msguniq ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/urlget ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/bin/xgettext ^^^
> 	/usr/local/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.6.0)
> ^^^ solver/unxmacxi/bin/xmllint ^^^
> 	@__________________________________________________URELIB/libxml2.2.dylib (compatibility version 10.0.0, current version 10.6.0)
> ^^^ solver/unxmacxi/bin/xsltproc ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/lib/libgettextlib-0.18.1.dylib ^^^
> 	/usr/lib/libxml2.2.dylib (compatibility version 9.0.0, current version 9.16.0)
> ^^^ solver/unxmacxi/lib/libgettextsrc-0.18.1.dylib ^^^


More information about the LibreOffice mailing list