Introduction to libxml2
        
        
          The libxml2 package contains
          libraries and utilities used for parsing XML files.
        
        
          This package is known to build and work properly using an LFS 12.4
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          libxml2 Dependencies
        
        
          Recommended
        
        
          ICU-77.1
        
        
          Optional
        
        
          Valgrind-3.25.1 (may be used in the tests)
        
       
      
        
          Installation of libxml2
        
        
          Install libxml2 by running the
          following commands:
        
        ./configure --prefix=/usr     \
            --sysconfdir=/etc \
            --disable-static  \
            --with-history    \
            --with-icu        \
            PYTHON=/usr/bin/python3 \
            --docdir=/usr/share/doc/libxml2-2.14.5 &&
make
        
          If you downloaded the test suite, issue the following command:
        
        tar xf ../xmlts20130923.tar.gz
        
          To test the results, issue: make
          check > check.log. This command will print
          several lines of error messages like “Failed to
          parse xstc/...” because some test files are
          missing and these messages can be safely ignored. A summary of the
          results can be obtained with grep -E
          '^Total|expected|Ran' check.log. If Valgrind-3.25.1 is
          installed and you want to check for memory leaks, replace
          check with
          check-valgrind.
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            The tests use http://localhost/ to test parsing of
            external entities. If the machine where you run the tests serves
            as a web site, the tests may hang, depending on the content of
            the file served. It is therefore recommended to shut down the
            server during the tests, as the root user:
          
          systemctl stop httpd.service
         
        
          Now, as the root user:
        
        make install
        
          Finally, prevent some packages from unnecessarily linking to ICU
          using the following commands as the root user:
        
        rm -vf /usr/lib/libxml2.la &&
sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config
       
      
        
          Command Explanations
        
        
          --disable-static: This
          switch prevents installation of static versions of the libraries.
        
        
          --with-history: This switch
          enables Readline support when
          running xmlcatalog or
          xmllint in shell
          mode.
        
        
          --with-icu: This switch
          enables support for ICU, which
          provides additional Unicode support. This is needed for some
          packages in BLFS, such as for QtWebEngine.
        
        
          PYTHON=/usr/bin/python3:
          Allows building the libxml2 module with Python3 instead of Python2.