libxml2-2.15.1

Introduction à libxml2

Le paquet libxml2 contient des bibliothèques et des utilitaires utilisés pour analyser des fichiers XML.

[Note]

Note

Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.

Informations sur le paquet

  • Téléchargement (HTTP) : https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.1.tar.xz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : fcf38f534bb8996984dba978ee3e27f4

  • Taille du téléchargement : 1,9 Mo

  • Estimation de l'espace disque requis : 49 Mo (plus 28 Mo pour la documentation et 16 Mo pour les tests)

  • Estimation du temps de construction : moins de 0,1 SBU (avec parallélisme = 4 ; avec les tests et la documentation)

Téléchargements supplémentaires

Dépendances de libxml2

Recommandées

Facultatives (pour générer la documentation)

Doxygen-1.15.0 et libxslt-1.1.43

Installation de libxml2

Tout d'abord, supprimez un appel inutile à git dans meson.build :

sed -i "/'git'/,+3d" meson.build

Installez libxml2 en exécutant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..           \
      --prefix=/usr      \
      -D history=enabled \
      -D icu=enabled     &&
ninja

Si vous souhaitez construire et installer les pages de manuel et la documentation, vous devriez avoir installé libxslt-1.1.43 et Doxygen-1.15.0, puis exécutez :

sed -e "/^dir_doc/s/\$/ + '-' + meson.project_version()/" \
    -i ../meson.build                                     &&
meson configure -D docs=enabled                           &&
ninja

Si vous avez téléchargé la suite de tests, exécutez la commande suivante :

tar xf ../../xmlts20130923.tar.gz -C ..

Pour tester les résultats lancez : ninja test.

[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 :

ninja install

L'utilitaire xml2-config peut renvoyer des drapeaux requis pour se lier à la bibliothèque statique du projet, y compris des références aux bibliothèques ICU-77.1. Ce serait inutile car nous n'installons que les bibliothèques partagées. Et pour ne rien arranger, cela peut faire lier inutilement certains paquets qui utilisent libxml2 à certaines bibliothèque d'ICU-77.1, et ces paquets devront être reconstruits si ICU est mis à jour vers une nouvelle version majeure. Corrigez cela en exécutant, en tant qu'utilisateur root :

sed "s/--static/--shared/" -i /usr/bin/xml2-config

Explication des commandes

-D history=enabled : Ce paramètre active le support de Readline quand xmlcatalog ou xmllint sont lancés en mode shell.

-D icu=enabled : ce paramètre active la prise en charge de ICU, qui fournit une prise en charge étendue d'Unicode. Cela est nécessaire pour certains paquets dans BLFS, comme QtWebEngine.

-D python=enabled : ce paramètre active les liaisons libxml2 pour Python. Remarquez que ces liaisons sont obsolètes à cause de problèmes dans la conception de l'API et qu'elles seront supprimées dans libxml2-2.16.

Contenu

Programmes installés: xml2-config, xmlcatalog et xmllint
Bibliothèques installées: libxml2.so
Répertoires installés: /usr/include/libxml2, /usr/lib/cmake/libxml2 et /usr/share/doc/libxml2-2.15.1,

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