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-78.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 :
          
          /etc/init.d/httpd stop
         
        
          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-78.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-78.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.