Installation of libxml2
First apply a patch, which prevents segfaults in the Python module,
when built by Python-3.7.0:
patch -Np1 -i ../libxml2-2.9.8-python3_hack-1.patch
To ensure that the Python module
can be built by Python-3.7.0, 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 &&
make
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.
Note
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:
/etc/init.d/httpd stop
Now, as the root
user:
make install
Command Explanations
--disable-static
: This
switch prevents installation of static versions of the libraries.
sed -i '/_PyVerify_fd/,+1d'
python/types.c
: This fixes the Python3 code to build with gcc-7.
--with-history
: This switch
enables Readline support when
running xmlcatalog or
xmllint in shell
mode.
--with-python=/usr/bin/python3
:
Allows to build the libxml2 module with Python3 instead of Python2.
--with-icu
: Add this switch if you have
built ICU-62.1, for better unicode support.
--with-threads
: Add this switch to
enable multithread support.