libxml2-2.9.10

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]

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]

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.

Contenu

Programmes installés: xml2-config, xmlcatalog et xmllint
Bibliothèques installées: libxml2.so et libxml2mod.so (module Python3)
Répertoires installés: /usr/include/libxml2, /usr/lib/cmake/libxml2, /usr/share/doc/libxml2-2.9.10, /usr/share/doc/libxml2-python-2.9.10 et /usr/share/gtk-doc/html/libxml2

Descriptions courtes

xml2-config

détermine les drapeaux du compilateur et de l'éditeur de liens qui devraient être utilisés pour compiler et lier les programmes qui utilisent libxml2

xmlcatalog

est utilisé pour gérer et manipuler des catalogues XML et SGML

xmllint

analyse des fichiers XML et affiche les rapports (basés sur les options ci-dessus) pour détecter les erreurs dans le code XML

libxml2.so

fournit des fonctions aux programmes pour analyser des fichiers qui utilisent le format XML

libxml2mod.so

est l'interface pour que Python3 utilise libxml2.so

Last updated on 2021-02-20 05:30:09 +0000