Introduksjon til libxml2
libxml2 pakken inneholder
biblioteker og verktøy som brukes til å analysere XML filer.
Notat
Utviklingsversjoner av BLFS kan kanskje ikke bygge eller kjøre
noen pakker riktig hvis LFS eller avhengigheter har blitt
oppdatert siden de siste stabile versjonene av bøkene.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.1.tar.xz
-
Nedlasting MD5 sum: fcf38f534bb8996984dba978ee3e27f4
-
Nedlastingsstørrelse: 1.9 MB
-
Estimert diskplass som kreves: 49 MB (legg til 28 MB for
dokumentasjon og 16 MB for tester)
-
Estimert byggetid: mindre enn 0.1 SBU (Bruk av
parallellisme=4; med tester og dokumentasjon)
Ytterligere Nedlastinger
libxml2 Avhengigheter
Anbefalt
ICU-77.1
Valgfri (for å generere dokumentasjonen)
Doxygen-1.15.0 og libxslt-1.1.43
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.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
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:
/etc/init.d/httpd stop
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-77.1 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-77.1 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.