Installasjon av libxml2
Fjern først et unødvendig anrop til git i meson.build:
sed -i "/'git'/,+3d" meson.build
Installer libxml2 ved å kjøre
følgende kommandoer:
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.45 and Doxygen-1.16.1 installed,
and run:
sed -e "/^dir_doc/s/\$/ + '-' + meson.project_version()/" \
-i ../meson.build &&
meson configure -D docs=enabled &&
ninja
Hvis du lastet ned testpakken, kjør følgende kommando:
tar xf ../../xmlts20130923.tar.gz -C ..
For å teste resultatene, utsted: ninja test.
Notat
Testene bruker http://localhost/ for å teste parsing av
eksterne enheter. Hvis maskinen der du kjører testene fungerer
som et nettsted, kan testene henge, avhengig av innholdet i filen
som vises. Det anbefales derfor å stenge serveren under testene,
som root bruker:
systemctl stop httpd.service
Nå, som root bruker:
ninja install
xml2-config kan
returnere flagg som trengs for å lenke mot det statiske biblioteket
for prosjektet, inkludert referansene til ICU-78.2 biblioteker. Det ville
være meningsløst fordi vi bare installerer det delte biblioteket.
For å gjøre vondt verre, kan det føre til at noen pakker bruker
libxml2 å være unødvendig knyttet
til noen ICU-78.2 biblioteker, da må disse pakkene
gjenoppbygges hvis ICU oppgraderes til en ny hovedversjon. Fiks
dette ved å utstede, som root:
sed "s/--static/--shared/" -i /usr/bin/xml2-config
Parameterforklaringer
-D history=enabled: Denne
bryteren aktiverer Readline støtte
når du kjører xmlcatalog eller xmllint i skallmodus.
-D icu=enabled: Denne
bryteren aktiverer støtte for ICU,
som gir ekstra Unicode støtte. Dette er nødvendig for noen pakker i
BLFS, for eksempel for QtWebEngine.
-D python=enabled: Denne bryteren
aktiverer libxml2 Python bindinger. Merk at disse bindingene er
utdatert på grunn av feil i API designet, og de vil bli fjernet i
libxml2-2.16.