Introduksjon til GLib
GLib pakken inneholder lavt nivå
biblioteker som er nyttige for å gi datastrukturhåndtering for C,
portabilitet innpakninger og grensesnitt for slik
kjøretidsfunksjonalitet som en hendelsesløkke, tråder, dynamisk
lasting og et objektsystem.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.0 plattform.
Pakkeinformasjon
Ytterligere Nedlastinger
GLib Avhengigheter
Anbefalt
libxslt-1.1.38 og pcre2-10.42
Valgfri
dbus-1.14.8 (for noen tester), Fuse-3.16.1 og
bindfs (begge
trengs for en testt), GDB-13.2 (for bindinger), docbook-xml-4.5,
docbook-xsl-nons-1.79.2, GTK-Doc-1.33.2 (for å bygge API
dokumentasjonen), glib-networking-2.76.1 (for noen
tester, men dette er en sirkulær avhengighet), og sysprof-3.48.0
Ytterligere Kjøretids Avhengigheter
gobject-introspection-1.76.1
(burde bli installert før gtk+, atk, etc.)
Sitert direkte fra INSTALL
filen:
“Some of the
mimetype-related functionality in GIO requires the update-mime-database and
update-desktop-database
utilities”, which are part of shared-mime-info-2.2 and desktop-file-utils-0.26,
respectively. These two utilities are also needed for some tests.
Installasjon av GLib
Hvis ønskelig, bruk den valgfrie oppdateringen. I mange tilfeller
applikasjoner som bruker dette biblioteket, enten direkte eller
indirekte via andre biblioteker som f.eks som GTK+-3.24.38, gi ut mange
advarsler når du kjører fra kommandolinjen. Denne oppdateringen
muliggjør bruk av en miljøvariabel, GLIB_LOG_LEVEL
, som undertrykker uønskede meldinger.
Verdien av variabelen er et siffer som tilsvarer:
1 Varsling
|
2 Kritisk
|
3 Feil
|
4 Advarsel
|
5 Merknad
|
For eksempel export
GLIB_LOG_LEVEL=4
vil hoppe over utdata av
advarsels- og varselmeldinger (og info/feilsøkingsmeldinger hvis de
er slått på). Hvis GLIB_LOG_LEVEL
ikke
er definert, normal meldingsutdata vil ikke bli påvirket.
patch -Np1 -i ../glib-skip_warnings-1.patch
Warning
Hvis en tidligere versjon av glib er installert, flytter du
deklarasjonene ut av veien slik at senere pakker ikke møter
konflikter:
if [ -e /usr/include/glib-2.0 ]; then
rm -rf /usr/include/glib-2.0.old &&
mv -vf /usr/include/glib-2.0{,.old}
fi
Installer GLib ved å kjøre
følgende kommandoer:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Dman=true &&
ninja
Note
Hvis libxslt-1.1.38 er installert, kan kommandoen
ovenfor angi flere (ca. 33) feil som starter med "Error: no ID
for constraint linkend:" når man genererer manualsidene. Disse er
ufarlige.
GLib testpakken krever
desktop-file-utils for noen
tester. Derimot, desktop-file-utils krever GLib for å kompilere; derfor må du først
installere GLib og deretter kjøre
testpakken.
Nå, som root
bruker:
ninja install &&
mkdir -p /usr/share/doc/glib-2.76.4 &&
cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.76.4
Du bør nå installere desktop-file-utils-0.26 og
shared-mime-info-2.2 og fortsette for å
kjøre testpakken.
Warning
Ikke kjør testpakken som root
da
vil noen tester mislykkes uventet og la noen ikke-FHS kompatible
mapper være i /usr
hierarkiet.
For å teste resultatene, etter å ha installert pakken, utsted:
LC_ALL=C ninja test
som ikke-root
bruker. En test
navngitt glib:gio / file
er kjent for
å mislykkes.
Parameterforklaringer
--buildtype=release
:
Spesifiser en byggetype egnet for stabile utgivelser av pakken, som
standard kan produsere uoptimaliserte binærfiler.
-Dman=true
: Denne bryteren
gjør at bygget lager og installerer pakkens manualsider.
-Dgtk_doc=true
: Denne bryteren gjør at
bygget lager og installerer API dokumentasjonen.