Introduction to libxml2

The libxml2 package contains libraries and utilities used for parsing XML files.

This package is known to build and work properly using an LFS-8.1 platform.

Package Information

Additional Downloads

libxml2 Dependencies





Some packages which utilize libxml2 (such as GNOME Doc Utils) need the Python module installed to function properly and some packages will not build properly if the Python module is not available.


ICU-59.1 and Valgrind-3.13.0 (may be used in the tests)

User Notes:

Installation of libxml2

If you want to build the Python module for Python-3.6.3, run:

sed -i '/_PyVerify_fd/,+1d' python/types.c

Install libxml2 by running the following commands:

./configure --prefix=/usr    \
            --disable-static \
            --with-history   \
            --with-python=/usr/bin/python3 &&

If you downloaded the testsuite, issue the following command:

tar xf ../xmlts20130923.tar.gz

To test the results, issue: make check > check.log. A summary of the results can be obtained with grep -E '^Total|expected' check.log. If Valgrind-3.13.0 is installed and you want to check memory leaks, replace check with check-valgrind.



The tests use http://localhost/ to test parsing of external entities. If the machine where you run the tests serves as a web site, the tests may hang, depending on the content of the file served. It is therefore recommended to shut down the server during the tests, as the root user:

systemctl stop httpd.service

Now, as the root user:

make install

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.

--with-history: This switch enables Readline support when running xmlcatalog or xmllint in shell mode.

--with-python=/usr/bin/python3: Add this switch if you want libxml2 to use Python3 instead of Python2.

--with-icu: Add this switch if you have built ICU-59.1, for better unicode support.

--with-threads: Add this switch to enable multithread support.


Installed Programs: xml2-config, xmlcatalog and xmllint
Installed Libraries: and optionally, the Python module
Installed Directories: /usr/include/libxml2, /usr/lib/cmake/libxml2, /usr/share/doc/libxml2-2.9.6, /usr/share/doc/libxml2-python-2.9.6, and /usr/share/gtk-doc/html/libxml2

Short Descriptions


determines the compile and linker flags that should be used to compile and link programs that use libxml2.


is used to monitor and manipulate XML and SGML catalogs.


parses XML files and outputs reports (based upon options) to detect errors in XML coding.

provides functions for programs to parse files that use the XML format.

Last updated on 2017-10-17 15:06:47 -0500