source: general/genlib/glib2.xml@ 0913f48

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 0913f48 was 0913f48, checked in by Krejzi <krejzi@…>, 12 years ago

gdk-pixbuf 2.26.0, cogl, gobject-introspection, glib and vala instruction fixes

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9816 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 13.7 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY glib2-download-http "&gnome-download-http;/glib/2.32/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/2.32/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "c5fa76fbf9184d20dfb04af66b598190">
10 <!ENTITY glib2-size "5.9 MB">
11 <!ENTITY glib2-buildsize "160 MB">
12 <!ENTITY glib2-time "1.0 SBU (additional 4.0 SBU to run the test suite)">
13]>
14
15<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
16 <?dbhtml filename="glib2.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>GLib-&glib2-version;</title>
24
25 <indexterm zone="glib2">
26 <primary sortas="a-GLib2">GLib2</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to GLib</title>
31
32 <para>The <application>GLib</application> package contains a low-level core
33 library. This is useful for providing data structure handling for C,
34 portability wrappers and interfaces for such runtime functionality as an
35 event loop, threads, dynamic loading, and an object system.</para>
36
37 &lfs71_checked;
38
39 <!-- Compiled against PCRE, Python, and desktop-file-utils.
40 1 test failed (regex) -->
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>Download (HTTP): <ulink url="&glib2-download-http;"/></para>
46 </listitem>
47 <listitem>
48 <para>Download (FTP): <ulink url="&glib2-download-ftp;"/></para>
49 </listitem>
50 <listitem>
51 <para>Download MD5 sum: &glib2-md5sum;</para>
52 </listitem>
53 <listitem>
54 <para>Download size: &glib2-size;</para>
55 </listitem>
56 <listitem>
57 <para>Estimated disk space required: &glib2-buildsize;</para>
58 </listitem>
59 <listitem>
60 <para>Estimated build time: &glib2-time;</para>
61 </listitem>
62 </itemizedlist>
63
64 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
65
66 <bridgehead renderas="sect4">Required</bridgehead>
67 <para role="required"><xref linkend="libffi"/> and <xref linkend="python2"/>
68 </para>
69
70 <bridgehead renderas="sect4">Recommended</bridgehead>
71 <para role="recommended"><xref linkend="pcre"/>
72 (built with unicode properties)</para>
73
74 <bridgehead renderas="sect4">Optional</bridgehead>
75 <para role="optional"><xref linkend="attr"/>, <xref linkend="dbus"/>
76 (required to run the tests), <xref linkend="gamin"/> and
77 <xref linkend="gtk-doc"/></para>
78
79 <!-- Couldn't find this
80 Re: It's giofam module. It may be unnecesary since there is inotify support now.
81 -->
82
83 <para><application>Gamin</application> requires
84 <application>GLib</application> in order to compile; therefore, you must
85 first install <application>GLib</application>, then compile
86 <application>Gamin</application>, and recompile
87 <application>GLib</application> against it.</para>
88
89 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
90 <para role="optional">Quoted directly from the <filename>INSTALL</filename>
91 file; <quote>Some of the mimetype-related functionality in GIO requires the
92 <command>update-mime-database</command> and
93 <command>update-desktop-database</command> utilities</quote>, which are part of
94 <xref linkend="shared-mime-info"/> and
95 <xref linkend="desktop-file-utils"/>, respectively.</para>
96
97 <para condition="html" role="usernotes">User Notes:
98 <ulink url="&blfs-wiki;/glib2"/></para>
99
100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of GLib</title>
104
105 <para>Install <application>GLib</application> by running the following
106 commands:</para>
107
108 <!-- This should be discussed as the instructions in the tarball give
109 many reasons why the internal PCRE should be used -->
110
111 <!-- Re: PCRE 8.30 is bundled, and BLFS has same version -->
112
113<screen><userinput>PCRE_LIBS=-lpcre PCRE_CFLAGS=" " \
114LIBFFI_LIBS=-lffi LIBFFI_CFLAGS=" " \
115./configure --prefix=/usr --sysconfdir=/etc --with-pcre=system &amp;&amp;
116make</userinput></screen>
117
118 <para>The <application>GLib</application> test suite requires
119 <application>desktop-file-utils</application> in order to run. However,
120 <application>desktop-file-utils</application> requires
121 <application>GLib</application> in order to compile; therefore, you must
122 first install <application>GLib</application> and then run the test
123 suite.</para>
124
125 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
126
127<screen role="root"><userinput>make install &amp;&amp;
128ln -v -sfn ../../lib/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/glibconfig.h</userinput></screen>
129
130 <para>You should now install <xref linkend="desktop-file-utils"/> and proceed to
131 run the test suite.</para>
132
133 <para>To test the results, issue: <command>make check</command>.</para>
134
135 </sect2>
136
137 <sect2 role="commands">
138 <title>Command Explanations</title>
139
140 <para>PCRE_* and LIBFFI_*: <application>Glib</application> is a prerequsite
141 for <application>pkg_config</application>, but it wants to use
142 <application>pkg_config</application> during the build process. These
143 environment variables work around not having
144 <application>pkg_config</application> available.</para>
145
146 <para><command>ln -v -sfn ... glibconfig.h</command>: Place a link to an
147 architecture dependent header file where programs can find it.</para>
148
149 <para><parameter>--with-pcre=system</parameter>: This parameter causes the
150 build to use a system-provided version of the
151 <application>PCRE</application> library instead of an internal
152 version.</para>
153
154 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
155 href="../../xincludes/gtk-doc-rebuild.xml"/>
156
157 </sect2>
158
159<!-- This has never caused any problems for me. A doc hint could help me
160 understand why this was here in first place.
161
162 <sect2 role="configuration">
163 <title>Configuring GLib</title>
164
165 <sect3>
166 <title>Configuration Information</title>
167
168 <para>By default, <application>GLib</application> assumes that all
169 filenames are in the UTF-8 charset. See the <xref
170 linkend="locale-wrong-filename-encoding"/> section of the <xref
171 linkend="locale-issues"/> page for more details on this kind of issue. In
172 order to tell <application>GLib</application> and applications that use
173 it that filenames are in the default locale encoding, set the variable
174 <envar>G_FILENAME_ENCODING</envar> to the value "@locale". As the
175 <systemitem class="username">root</systemitem> user:</para>
176
177<screen role="root"><userinput>cat &gt; /etc/profile.d/glib2-locale.sh &lt;&lt; "EOF"
178<literal># Use the current locale charset for filenames
179# in applications using GLib
180export G_FILENAME_ENCODING=@locale</literal>
181EOF</userinput></screen>
182
183 </sect3>
184
185 </sect2>
186-->
187
188 <sect2 role="content">
189 <title>Contents</title>
190
191 <segmentedlist>
192 <segtitle>Installed Programs</segtitle>
193 <segtitle>Installed Libraries</segtitle>
194 <segtitle>Installed Directories</segtitle>
195
196 <seglistitem>
197 <seg>
198 gdbus, gdbus-codegen, gio-querymodules,
199 glib-compile-resources, glib-compile-schemas,
200 glib-genmarshal, glib-gettextize, glib-mkenums,
201 gobject-query, gresource, gsettings, gtester
202 and gtester-report
203 </seg>
204
205 <seg>
206 libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so,
207 libgobject-2.0.so, libgthread-2.0.so and libgiofam.so
208 </seg>
209
210 <seg>
211 /usr/include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}},
212 /usr/lib/{gdbus-2.0/codegen,gio/modules,glib-2.0/include},
213 /usr/share/glib-2.0/{gdb,gettext/po} and
214 /usr/share/gtk-doc/html/{gio,glib,gobject}
215 </seg>
216 </seglistitem>
217 </segmentedlist>
218
219 <variablelist>
220 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
221 <?dbfo list-presentation="list"?>
222 <?dbhtml list-presentation="table"?>
223
224 <varlistentry id="gdbus">
225 <term><command>gdbus</command></term>
226 <listitem>
227 <para>is a simple tool for working with D-Bus objects.</para>
228 <indexterm zone="glib2 gdbus">
229 <primary sortas="b-gdbus">gdbus</primary>
230 </indexterm>
231 </listitem>
232 </varlistentry>
233
234 <varlistentry id="gdbus-codegen">
235 <term><command>gdbus-codegen</command></term>
236 <listitem>
237 <para>is used to generate code and/or documentation for one or
238 more D-Bus interfaces.</para>
239 <indexterm zone="glib2 gdbus-codegen">
240 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
241 </indexterm>
242 </listitem>
243 </varlistentry>
244
245 <varlistentry id="gio-querymodules">
246 <term><command>gio-querymodules</command></term>
247 <listitem>
248 <para>is used to create a giomodule.cache file in the listed directories.
249 This file lists the implemented extension points for each module that has
250 been found.</para>
251 <indexterm zone="glib2 gio-querymodules">
252 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
253 </indexterm>
254 </listitem>
255 </varlistentry>
256
257 <varlistentry id="glib-compile-resources">
258 <term><command>glib-compile-resources</command></term>
259 <listitem>
260 <para>is used to read the resource description from file and
261 the files that it references to create a binary resource
262 bundle that is suitable for use with the GResource API.</para>
263 <indexterm zone="glib2 glib-compile-resources">
264 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
265 </indexterm>
266 </listitem>
267 </varlistentry>
268
269 <varlistentry id="glib-compile-schemas">
270 <term><command>glib-compile-schemas</command></term>
271 <listitem>
272 <para>is used to compile all the GSettings XML schema files
273 in directory into a binary file with the name gschemas.compiled
274 that can be used by GSettings.</para>
275 <indexterm zone="glib2 glib-compile-schemas">
276 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
277 </indexterm>
278 </listitem>
279 </varlistentry>
280
281 <varlistentry id="glib-genmarshal">
282 <term><command>glib-genmarshal</command></term>
283 <listitem>
284 <para>is a C code marshaller generation utility for GLib
285 closures.</para>
286 <indexterm zone="glib2 glib-genmarshal">
287 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
288 </indexterm>
289 </listitem>
290 </varlistentry>
291
292 <varlistentry id="glib-gettextize">
293 <term><command>glib-gettextize</command></term>
294 <listitem>
295 <para>is a variant of the <application>gettext</application>
296 internationalization utility.</para>
297 <indexterm zone="glib2 glib-gettextize">
298 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302
303 <varlistentry id="glib-mkenums">
304 <term><command>glib-mkenums</command></term>
305 <listitem>
306 <para>is a C language enum description generation utility.</para>
307 <indexterm zone="glib2 glib-mkenums">
308 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="gobject-query">
314 <term><command>gobject-query</command></term>
315 <listitem>
316 <para>is a small utility that draws a tree of types.</para>
317 <indexterm zone="glib2 gobject-query">
318 <primary sortas="b-gobject-query">gobject-query</primary>
319 </indexterm>
320 </listitem>
321 </varlistentry>
322
323 <varlistentry id="gresource">
324 <term><command>gresource</command></term>
325 <listitem>
326 <para>offers a simple commandline interface to GResource.</para>
327 <indexterm zone="glib2 gresource">
328 <primary sortas="b-gresource">gresource</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="gsettings">
334 <term><command>gsettings</command></term>
335 <listitem>
336 <para>offers a simple commandline interface to GSettings.</para>
337 <indexterm zone="glib2 gsettings">
338 <primary sortas="b-gsettings">gsettings</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="gtester">
344 <term><command>gtester</command></term>
345 <listitem>
346 <para>is a test running utility.</para>
347 <indexterm zone="glib2 gtester">
348 <primary sortas="b-gtester">gtester</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352
353 <varlistentry id="gtester-report">
354 <term><command>gtester-report</command></term>
355 <listitem>
356 <para>is a test report formatting utility.</para>
357 <indexterm zone="glib2 gtester-report">
358 <primary sortas="b-gtester-report">gtester-report</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="GLib-libraries">
364 <term>GLib libraries</term>
365 <listitem>
366 <para>contain a low-level core library for the
367 <application>GIMP</application> Toolkit.</para>
368 <indexterm zone="glib2 GLib-libraries">
369 <primary sortas="c-GLib-libraries">Glib libraries</primary>
370 </indexterm>
371 </listitem>
372 </varlistentry>
373
374 </variablelist>
375
376 </sect2>
377
378</sect1>
Note: See TracBrowser for help on using the repository browser.