GLib-2.82.1

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.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

  • Nedlasting (HTTP): https://download.gnome.org/sources/glib/2.82/glib-2.82.1.tar.xz

  • Nedlasting MD5 sum: d101f1acab6805d4d6d3104e9634b8e3

  • Nedlastingsstørrelse: 5.3 MB

  • Estimert diskplass som kreves: 197 MB (legg til 22 MB for tester)

  • Estimert byggetid: 0.7 SBU (legg til 0.4 SBU for tester; begge bruker parallellisme=4)

Ytterligere Nedlastinger

GObject Introspection (Recommended)

Oppdatering for loggnivåvalg (valgfritt)

GLib Avhengigheter

Anbefalt

Valgfri

Cairo-1.18.2 (for noen GObject Introspection tester), dbus-1.14.10 (for noen tester), Fuse-3.16.2 og bindfs (begge trengs for en testt), GDB-15.2 (for bindinger), Gjs-1.80.2 (for noen GObject Introspection tester), GTK-Doc-1.34.0 (for GObject Introspection dokumentasjon), docbook-xml-4.5, docbook-xsl-nons-1.79.2, Gi-DocGen-2024.1 (for å bygge API dokumentasjonen), glib-networking-2.80.0 (for noen tester, men dette er en sirkulær avhengighet), Mako-1.3.5 og Markdown-3.7 (begge for g-ir-doc-tool), og sysprof

Ytterligere Kjøretids Avhengigheter

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.43, 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
[Advarsel]

Advarsel

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       \
      -D introspection=disabled \
      -D glib_debug=disabled    \
      -D man-pages=enabled      \
      -D sysprof=disabled       &&
ninja

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.

Som root bruker, installer denne pakken for første gang for å tillate bygging av GObject Introspection:

ninja install

Bygg GObject Introspection:

tar xf ../../gobject-introspection-1.82.0.tar.xz &&

meson setup gobject-introspection-1.82.0 gi-build \
            --prefix=/usr --buildtype=release     &&
ninja -C gi-build

For å teste resultatene av GObject Introspection, utsted: ninja -C gi-build test.

Som root bruker, installer GObject Introspection for å genere introspeksjonsdataene til GLib biblioteker (påkrevd av forskjellige pakker som bruker Glib, spesielt noen GNOME pakker):

ninja -C gi-build install

Generer nå introspection dataene:

meson configure -D introspection=enabled &&
ninja

Hvis du har Gi-DocGen-2024.1 installert og ønsker å bygge API dokumentasjonen for denne pakken, utsted:

sed 's/glib-2.0/glib-2.82.1/'        \
    -i ../docs/reference/meson.build &&
meson configure -D documentation=true &&
ninja

Som root bruker, installer denne pakken på nytt for introspection data (og eventuelt dokumentasjonen):

ninja install

Du bør nå installere desktop-file-utils-0.27 og shared-mime-info-2.4 og fortsette for å kjøre testpakken.

[Advarsel]

Advarsel

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 pakkene, utsted: LC_ALL=C ninja test som ikke-root bruker.

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D man-pages=enabled: Denne bryteren gjør at bygget lager og installerer pakkens manualsider.

-D glib_debug=disabled: Denne bryteren gjør at bygget inkluderer ikke noen dyre sjekker for feilsøking i byggeprogrammene og bibliotekene.

-D sysprof=disabled: Denne bryteren deaktiverer sporingsstøtte for sysprof. Fjern dette alternativet hvis du vil ha sporingsstøtte. Merk at hvis sysprof ikke er installert, å fjerne dette alternativet vil føre til at byggesystemet laster ned en kopi av sysprof fra Internett.

Innhold

GLib Innhold

Installerte Programmer: gapplication, gdbus, gdbus-codegen, gi-compile-repository, gi-decompile-typelib, gi-inspect-typelib gio, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester, og gtester-report
Installerte Biblioteker: libgio-2.0.so, libgirepository-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so, og libgthread-2.0.so
Installerte Mapper: /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0, and /usr/share/doc/glib-2.82.1 (optional)

GObject Introspection Innhold

Installert Program: g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool (optional), g-ir-generate, g-ir-inspect, og g-ir-scanner
Installerte Biblioteker: libgirepository-1.0.so og _giscanner.cpython-312-<arch>-linux-gnu.so
Installerte Mapper: /usr/include/gobject-introspection-1.0, /usr/lib/girepository-1.0, /usr/lib/gobject-introspection, /usr/share/gir-1.0, og /usr/share/gobject-introspection-1.0

Korte Beskrivelser

gapplication

kan brukes til å starte applikasjoner og sende meldinger til allerede kjørende økter av andre applikasjoner

gdbus

er et enkelt verktøy som brukes til å jobbe med D-Bus objekter

gdbus-codegen

brukes til å generere kode og/eller dokumentasjon for en eller flere D-Bus grensesnitt

gi-compile-repository

konverterer en eller flere GIR filer til en eller flere typelib filer

gi-decompile-typelib

er en GIR dekompilator som bruker repository API

gi-inspect-typelib

er et verktøy som gir informasjon om en GI typelib

gio

er et verktøy som gjør mange GIO funksjoner tilgjengelig fra kommandolinjen

gio-querymodules

brukes til å opprette en giomodule.cache fil i de listede mappene. Denne filen viser den implementerte utvidelsen punktet for hver modul som er funnet

glib-compile-resources

brukes til å lese ressursbeskrivelsen fra en fil og filene den refererer til for å lage en binær ressurs bunt som er egnet for bruk med GResource API

glib-compile-schemas

brukes til å kompilere alle XML skjemafilene for GSettings i en mappe til en binær fil med navnet gschemas.compiled som kan brukes av GSettings

glib-genmarshal

er et C kode marshaller genereringsverktøy for GLib lukkinger

glib-gettextize

er en variant av gettext internasjonaliseringsverktøyet

glib-mkenums

er et verktøy for generering av enumbeskrivelse i C språk

gobject-query

er et lite verktøy som tegner et tre med typer

gresource

tilbyr et enkelt kommandolinjegrensesnitt til GResource

gsettings

tilbyr et enkelt kommandolinjegrensesnitt til GSettings

gtester

er et testverktøy

gtester-report

er et testrapportformateringsverktøy

libgio-2.0.so

er et bibliotek som gir nyttige klasser for generell I/O, nettverk, IPC, innstillinger og andre høynivåapplikasjoners funksjonalitet

libgirepository-2.0.so

er et bibliotek som gir tilgang til typelibs og introspection data som beskriver C APIs

libglib-2.0.so

er et flyttbart verktøybibliotek for generell bruk, som tilbyr mange nyttige datatyper, makroer, typekonverteringer, streng verktøy, filverktøy, en hovedloopabstraksjon og så videre

libgmodule-2.0.so

gir flyttbar API for dynamisk lasting av moduler

libgobject-2.0.so

gir GLib basetypesystem og objektklasse

libgthread-2.0.so

er et skjelettbibliotek for bakoverkompatibilitet; det pleide være GLib trådbiblioteket, men funksjonaliteten har blitt sammenslått inn i libglib-2.0

g-ir-annotation-tool

oppretter eller trekker ut merknadsdata fra GI typelibs

g-ir-compiler

er et motstykke til gi-compile-repository for de gamle libgirepository-1.0 API

g-ir-doc-tool

genererer Mallard filer som kan vises med yelp eller gjengitt til HTML med yelp-build fra yelp-tools

g-ir-inspect

er et motstykke til gi-inspect-typelib for de gamle libgirepository-1.0 API

g-ir-generate

er et motstykke til gi-decompile-typelib for de gamle libgirepository-1.0 API

g-ir-scanner

er et verktøy som genererer GIR XML filer ved å analysere overskrifter og introspekterende GObject baserte biblioteker

libgirepository-1.0.so

er et motstykke til libgirepository-2.0 for de gamle 1.0 API