Introduction à libxml2
Le paquet libxml2 contient des
bibliothèques et des utilitaires utilisés pour analyser des
fichiers XML.
This package is known to build and work properly using an LFS-10.1
platform.
Informations sur le paquet
Téléchargements supplémentaires
Dépendances de libxml2
Facultatives
Python-2.7.18
Note
Certains paquets qui utilisent libxml2 (tels que GNOME Doc Utils) ont besoin que le module
Python3 soit installé pour
fonctionner correctement et certains paquets ne se construiront
pas correctement si le module Python3 n'est pas disponible.
Le vieux module Python2 peut
être construit après l'installation de libxml2.so
, voir Python2 libxml2-2.9.10
module.
Facultatives
ICU-68.2 (voir
plus bas) et Valgrind-3.16.1 (peut être utilisé dans les
tests)
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/libxml2
Installation de libxml2
Appliquez un correctif pour corriger plusieurs problèmes :
patch -p1 -i ../libxml2-2.9.10-security_fixes-1.patch
Tout d'abord, corrigez un problème avec la génération du module
Python3 avec Python-3.9.0 et supérieur :
sed -i '/if Py/{s/Py/(Py/;s/)/))/}' python/{types.c,libxml.c}
Si vous allez lancer les tests, désactivez un test qui cause
l'arrêt prématuré des tests avec une erreur :
sed -i 's/test.test/#&/' python/tests/tstLastError.py
Si, et seulement si, vous utilisez ICU-68.2, corrigez un échec à la construction
causé par cette version en lançant la commande suivante :
sed -i 's/ TRUE/ true/' encoding.c
Installez libxml2 en lançant les
commandes suivantes :
./configure --prefix=/usr \
--disable-static \
--with-history \
--with-python=/usr/bin/python3 &&
make
Si vous avez téléchargé la suite de tests, exécutez la commande
suivante :
tar xf ../xmlts20130923.tar.gz
Pour tester les résultats lancez : make check > check.log. A
summary of the results can be obtained with grep -E '^Total|expected'
check.log. If Valgrind-3.16.1 is installed and you
want to check memory leaks, replace check with check-valgrind.
Note
Les tests utilisent http://localhost/ pour tester l'analyse
des entités externes. Si la machine où vous lancez les tests sert
un site web, les tests peuvent durer indéfiniment, en fonction du
contenu servi. Il est donc recommandé d'éteindre le serveur
durant les tests, en tant qu'utilisateur root
:
systemctl stop httpd.service
Maintenant, en tant qu'utilisateur root
:
make install
Explication des commandes
--disable-static
: Ce
paramètre empêche l'installation des versions statiques des
bibliothèques.
--with-history
: Ce
paramètre active le support de Readline quand xmlcatalog ou xmllint sont lancés en mode
shell.
--with-python=/usr/bin/python3
:
Permet de compiler le module libxml2 avec Python3 plutôt que
Python2.
--with-icu
: Ajoutez ce paramètre
si vous avez construit ICU-68.2, pour un meilleur support d'unicode.
--with-threads
: Ajoutez ce
paramètre pour activer le support du multithreading.