By Robert Crews
Mac OS X 10.5 ("Leopard") includes libxml2 2.6.16 and libxslt 1.1.12. Some programs require newer versions, such as PostgreSQL, which requires libxml2 2.6.23 or later. This procedure describes how to add a newer version of these libraries to your system without disturbing the preinstalled versions already present. This allows you to use the newer versions as needed while allowing other software to continue using the older versions as intended. I wrote these instructions as I added libxml2 2.6.30 and libxslt 1.1.22 to my system.
You will need /usr/local/bin, /usr/local/include, and /usr/local/lib created and added to your environment before adding a newer libxml2 to your system. Here is one way to do it:
#!/bin/bash sudo mkdir -p /usr/local/bin sudo mkdir -p /usr/local/include sudo mkdir -p /usr/local/lib sudo mkdir -p /usr/local/man/man1 sudo mkdir -p /usr/local/man/man3 echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bash_profile echo 'export MANPATH=/usr/local/man:$MANPATH' >> ~/.bash_profile source ~/.bash_profile
To install a newer libxml2 on Mac OS X 10.5:
libxml.framework, libxslt.framework, and libexslt.framework to /Library/Frameworks.xmllint, xsltproc, and xmlcatalog to /usr/local/bin. Depending on the privileges you set on /usr/local/bin, you might need to authenticate to complete the drag./usr/local to the config scripts, the dynamic libraries, and the headers in the frameworks you just added. The script I used is below. You should check the details against the exact files in the frameworks you copied to /Library/Frameworks.
#!/bin/bash sudo mkdir -p /usr/local/bin cd /usr/local/bin ln -s /Library/Frameworks/libxml.framework/Resources/Scripts/xml2-config ln -s /Library/Frameworks/libxslt.framework/Resources/Scripts/xslt-config sudo mkdir -p /usr/local/include cd /usr/local/include sudo ln -s /Library/Frameworks/libxml.framework/Headers/DOCBparser.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/HTMLparser.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/HTMLtree.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/SAX.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/SAX2.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/c14n.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/catalog.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/chvalid.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/debugXML.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/dict.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/encoding.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/entities.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/globals.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/hash.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/list.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/nanoftp.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/nanohttp.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/parser.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/parserInternals.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/pattern.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/relaxng.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/schemasInternals.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/schematron.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/threads.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/tree.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/trio.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/triodef.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/trionan.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/triop.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/triostr.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/uri.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/valid.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xinclude.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xlink.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlIO.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlautomata.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlerror.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlexports.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlmemory.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlmodule.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlreader.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlregexp.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlsave.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlschemas.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlschemastypes.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlstring.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlunicode.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlversion.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xmlwriter.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xpath.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xpathInternals.h sudo ln -s /Library/Frameworks/libxml.framework/Headers/xpointer.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/attributes.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/documents.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/extensions.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/extra.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/functions.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/imports.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/keys.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/libxslt.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/namespaces.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/numbersInternals.h #sudo ln -s /Library/Frameworks/libxslt.framework/Headers/pattern.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/preproc.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/security.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/templates.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/transform.h #sudo ln -s /Library/Frameworks/libxslt.framework/Headers/trio.h #sudo ln -s /Library/Frameworks/libxslt.framework/Headers/triodef.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/variables.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/win32config.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xslt.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xsltInternals.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xsltconfig.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xsltexports.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xsltutils.h sudo ln -s /Library/Frameworks/libxslt.framework/Headers/xsltwin32config.h sudo ln -s /Library/Frameworks/libexslt.framework/Headers/exslt.h sudo ln -s /Library/Frameworks/libexslt.framework/Headers/exsltconfig.h sudo ln -s /Library/Frameworks/libexslt.framework/Headers/exsltexports.h sudo ln -s /Library/Frameworks/libexslt.framework/Headers/libexslt.h mkdir -p /usr/local/lib cd /usr/local/lib sudo ln -s /Library/Frameworks/libxml.framework/libxml libxml2.dylib sudo ln -s /Library/Frameworks/libxslt.framework/libxslt libxslt.dylib sudo ln -s /Library/Frameworks/libexslt.framework/libxslt libexslt.dylib