Instalação do libxml2
Primeiro, remova uma chamada desnecessária ao git no meson.build:
sed -i "/'git'/,+3d" meson.build
Instale libxml2 executando os
seguintes comandos:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
-D history=enabled \
-D icu=enabled &&
ninja
Se você deseja construir e instalar as páginas de manual e a
documentação, você deveria ter libxslt-1.1.45 e Doxygen-1.16.1 instalados
e executar:
sed -e "/^dir_doc/s/\$/ + '-' + meson.project_version()/" \
-i ../meson.build &&
meson configure -D docs=enabled &&
ninja
Se você baixou a suíte de teste, [então] emita o seguinte comando:
tar xf ../../xmlts20130923.tar.gz -C ..
Para testar os resultados, emita: ninja test.
Nota
Os testes usam http://localhost/ para testar a análise
de entidades externas. Se a máquina onde você executar os testes
servir como um sítio da Web, [então] os testes possivelmente
travem, dependendo do conteúdo do arquivo servido. Portanto, é
recomendado desligar o servidor durante os testes; como o(a)
usuário(a) root:
systemctl stop httpd.service
Agora, como o(a) usuário(a) root:
ninja install
O xml2-config pode
retornar sinalizadores necessários para lincar à biblioteca
estática para o projeto, incluindo as referências para as
bibliotecas do ICU-78.2. Isso seria inútil, pois instalamos somente
a biblioteca compartilhada. Para piorar as coisas, isso pode fazer
com que alguns pacotes que usam a libxml2 sejam lincados desnecessariamente a
alguma biblioteca do ICU-78.2, então esses pacotes precisarão de uma
reconstrução se o ICU for atualizado para uma nova versão
principal. Corrija isso executando, como root:
sed "s/--static/--shared/" -i /usr/bin/xml2-config
Explicações do Comando
-D history=enabled: Essa
chave habilita o suporte Readline
ao executar xmlcatalog ou xmllint no modo shell.
-D icu=enabled: Essa chave
habilita suporte para ICU, o qual
fornece suporte adicional Unicode. Isso é necessário para alguns
pacotes no BLFS, como para QtWebEngine.
-D python=enabled: Essa chave habilita
as vinculações libxml2 para Python. Observe que essas vinculações
estão obsoletas devido a falhas no projeto da API e serão removidas
na libxml2-2.16.