Introduction à libxml2
Le paquet libxml2 contient des
bibliothèques et des utilitaires utilisés pour analyser des
fichiers XML.
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
ICU-77.1
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
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.