Installation of libxml2
        
        
          First, remove an unnecessary call to git in meson.build:
        
        sed -i "/'git'/,+3d" meson.build
        
          Install libxml2 by running the
          following commands:
        
        mkdir build &&
cd    build &&
meson setup ..           \
      --prefix=/usr      \
      -D history=enabled \
      -D icu=enabled     &&
ninja
        
          If you wish to build and install the manual pages and the
          documentation, you should have libxslt-1.1.43 and Doxygen-1.15.0 installed,
          and run:
        
        sed -e "/^dir_doc/s/\$/ + '-' + meson.project_version()/" \
    -i ../meson.build                                     &&
meson configure -D docs=enabled                           &&
ninja
        
          If you downloaded the test suite, issue the following command:
        
        tar xf ../../xmlts20130923.tar.gz -C ..
        
          To test the results, issue: ninja
          test.
        
        
          ![[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:
          
          /etc/init.d/httpd stop
         
        
          Now, as the root user:
        
        ninja install
        
          The xml2-config may
          return flags needed to link against the static library for the
          project, including the references to the ICU-77.1 libraries. That would be
          pointless because we only install the shared library. To make
          things worse, that may cause some packages using libxml2 to be unnecessarily linked against
          some ICU-77.1
          library, then those packages will need a rebuild if ICU is upgraded
          to a new major version. Fix this by issuing, as root:
        
        sed "s/--static/--shared/" -i /usr/bin/xml2-config
       
      
        
          Command Explanations
        
        
          -D history=enabled: This
          switch enables Readline support
          when running xmlcatalog or xmllint in shell mode.
        
        
          -D icu=enabled: This switch
          enables support for ICU, which
          provides additional Unicode support. This is needed for some
          packages in BLFS, such as for QtWebEngine.
        
        
          -D python=enabled: This switch enables
          the libxml2 Python bindings. Note that those bindings are
          deprecated due to flaws in the API design and they will be removed
          in libxml2-2.16.