source: general/genlib/glib2.xml@ 635e468b

10.0 10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 635e468b was 635e468b, checked in by Bruce Dubbs <bdubbs@…>, 18 months ago

Update to wireshark-3.2.4.
Update to glib-2.64.3.

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

  • Property mode set to 100644
File size: 16.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/&glib2-minor;/glib-&glib2-version;.tar.xz">
8 <!ENTITY glib2-download-ftp "&gnome-download-ftp;/glib/&glib2-minor;/glib-&glib2-version;.tar.xz">
9 <!ENTITY glib2-md5sum "ccc48e58545cac45f5b3df3b8aeaff13">
10 <!ENTITY glib2-size "4.6 MB">
11 <!ENTITY glib2-buildsize "169 MB (add 6 MB for tests)">
12 <!ENTITY glib2-time "0.6 SBU (add 0.5 SBU for tests; both using parallelism=4)">
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>
33 The <application>GLib</application> package contains low-level
34 libraries useful for providing data structure handling for C, portability
35 wrappers and interfaces for such runtime functionality as an
36 event loop, threads, dynamic loading and an object system.
37 </para>
38
39 &lfs91_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&glib2-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&glib2-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &glib2-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &glib2-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &glib2-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &glib2-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing="compact">
77 <listitem>
78 <para>
79 Optional patch:
80 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
81 </para>
82 </listitem>
83 </itemizedlist>
84
85 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="libxslt"/> and
90 <xref linkend="pcre"/> (built with Unicode properties)
91 </para>
92
93 <bridgehead renderas="sect4">Optional</bridgehead>
94 <para role="optional">
95 <xref linkend="dbus"/> and
96 <ulink url="https://bindfs.org/">bindfs</ulink>
97 (both may be used in some tests),
98 <xref linkend="gdb"/> (for bindings),
99 <xref linkend="DocBook"/>,
100 <xref linkend="docbook-xsl"/>, and
101 <xref linkend="gtk-doc"/>
102 (to build API documentation)
103 </para>
104
105 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
106 <para role="recommended">
107 <xref role="runtime" linkend="gobject-introspection"/>
108 (should be installed before gtk+, atk, etc.)
109 </para>
110 <para role="optional">
111 Quoted directly from the <filename>INSTALL</filename> file:
112 <quote>Some of the mimetype-related functionality in GIO requires the
113 <command>update-mime-database</command> and
114 <command>update-desktop-database</command> utilities</quote>,
115 which are part of
116 <xref role="runtime" linkend="shared-mime-info"/> and
117 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
118 These two utilities are also needed for some tests.
119 </para>
120
121 <para condition="html" role="usernotes">User Notes:
122 <ulink url="&blfs-wiki;/glib2"/>
123 </para>
124 </sect2>
125
126 <sect2 role="installation">
127 <title>Installation of GLib</title>
128
129 <para>
130 If desired, apply the optional patch. In many cases, applications that
131 use this library, either directly or indirectly via other libraries such
132 as <xref linkend="gtk3"/>, output numerous warnings when run from the
133 command line. This patch enables the use of an environment variable,
134 <envar>GLIB_LOG_LEVEL</envar>, that supresses unwanted messages. The
135 value of the variable is a digit that corresponds to:
136 </para>
137
138 <simplelist>
139 <member>1 Alert</member>
140 <member>2 Critical</member>
141 <member>3 Error</member>
142 <member>4 Warning</member>
143 <member>5 Notice</member>
144 </simplelist>
145
146 <para>
147 For instance <userinput>export GLIB_LOG_LEVEL=4</userinput> will skip
148 output of Warning and Notice messages (and Info/Debug messages if they
149 are turned on). If <envar>GLIB_LOG_LEVEL</envar> is not defined, normal
150 message output will not be affected.
151 </para>
152
153<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
154
155 <warning>
156 <para>
157
158 If upgrading from a previous version of GLib that was built using
159 autotools, and the <application>libtool</application> archives (.la
160 files) were installed, you will need to adjust all installed libtool
161 archives,
162 <filename>/usr/lib/libg{io,lib,module,object,thread}-2.0.la</filename>,
163 to replace references to the libtool archives for this package with the
164 appropriate linker library flag (-l),
165 <command>-lg{io,lib,module,object,thread}</command>. 600+ files must be
166 modified on a complete gnome desktop.
167
168 </para>
169
170 <para>
171 Alternatively, you can just remove the unneeded .la files
172 with the script at <xref linkend="la-files"/>.
173 </para>
174 </warning>
175
176 <para>
177 Install <application>GLib</application> by running the following
178 commands:
179 </para>
180
181<screen><userinput>mkdir build &amp;&amp;
182cd build &amp;&amp;
183
184meson --prefix=/usr \
185 -Dman=true \
186 -Dselinux=disabled \
187 .. &amp;&amp;
188ninja</userinput></screen>
189
190 <note><para>
191 If <xref linkend="libxslt"/> is installed, the above command may
192 indicate several (about 33) errors that start with "Error: no ID for
193 constraint linkend:" when gnerating the man pages. These are harmless.
194 </para></note>
195
196 <para>
197 The <application>GLib</application> test suite requires
198 <application>desktop-file-utils</application> for some tests. However,
199 <application>desktop-file-utils</application> requires
200 <application>GLib</application> in order to compile; therefore, you must
201 first install <application>GLib</application> and then run the test
202 suite.
203 </para>
204
205 <para>
206 Now, as the <systemitem class="username">root</systemitem> user:
207 </para>
208
209<screen role="root"><userinput>ninja install &amp;&amp;
210
211mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
212cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
213
214 <para>
215 You should now install <xref linkend="desktop-file-utils"/> and
216 <xref linkend="shared-mime-info"/> and proceed to
217 run the test suite.
218 </para>
219
220 <para>
221 To test the results, after having installed the package, issue:
222 <command>ninja test</command>.
223 <!-- glib issue #1954: -->
224 <!-- One test named gdbus-server-auth sometimes fails.-->
225 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
226 <!-- Needs /etc/localtime to be a symbolic link. In addition
227 the link must be to some place like /usr/share/zoneinfo/...
228
229 This can be overcome if the line below in glib/tests/gdatetime.c
230 is removed or commented out.
231 g_assert_true (*g_time_zone_get_identifier (tz) != '/');
232
233 NOTE: systemd implements this as a hard requirement. -->
234 <!-- with 2.60.4 on systemd, all tests pass. -->
235 <!-- with 2.64.1 on sysV, all tests pass. -->
236 </para>
237
238 </sect2>
239
240 <sect2 role="commands">
241 <title>Command Explanations</title>
242
243 <para>
244 <parameter>-Dman=true</parameter>: This switch causes the
245 build to create and install the package man pages.
246 </para>
247
248 <para>
249 <parameter>-Dselinux=disabled</parameter>: This switch disables
250 support for selinux which is not supported in BLFS.
251 </para>
252
253 <para>
254 <option>-Ddoc=true</option>: This switch causes the
255 build to create and install the API documentation.
256 </para>
257
258 </sect2>
259
260 <sect2 role="content">
261 <title>Contents</title>
262
263 <segmentedlist>
264 <segtitle>Installed Programs</segtitle>
265 <segtitle>Installed Libraries</segtitle>
266 <segtitle>Installed Directories</segtitle>
267
268 <seglistitem>
269 <seg>
270 gapplication, gdbus, gdbus-codegen,
271 gio, gio-querymodules,
272 glib-compile-resources, glib-compile-schemas,
273 glib-genmarshal, glib-gettextize,
274 glib-mkenums, gobject-query,
275 gresource, gsettings,
276 gtester, and gtester-report
277 </seg>
278 <seg>
279 libgio-2.0.so,
280 libglib-2.0.so,
281 libgmodule-2.0.so,
282 libgobject-2.0.so, and
283 libgthread-2.0.so
284 </seg>
285 <seg>
286 /usr/include/gio-unix-2.0,
287 /usr/include/glib-2.0,
288 /usr/lib/glib-2.0,
289 /usr/share/glib-2.0, and
290 /usr/share/gtk-doc/html/{gio,glib,gobject}
291 </seg>
292 </seglistitem>
293 </segmentedlist>
294
295 <variablelist>
296 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
297 <?dbfo list-presentation="list"?>
298 <?dbhtml list-presentation="table"?>
299
300 <varlistentry id="gapplication">
301 <term><command>gapplication</command></term>
302 <listitem>
303 <para>
304 can be used to start applications and to send
305 messages to already-running instances of other applications.
306 </para>
307 <indexterm zone="glib2 gapplication">
308 <primary sortas="b-gapplication">application</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312 <varlistentry id="gdbus">
313 <term><command>gdbus</command></term>
314 <listitem>
315 <para>
316 is a simple tool used for working with
317 <application>D-Bus</application> objects.
318 </para>
319 <indexterm zone="glib2 gdbus">
320 <primary sortas="b-gdbus">gdbus</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="gdbus-codegen">
326 <term><command>gdbus-codegen</command></term>
327 <listitem>
328 <para>
329 is used to generate code and/or documentation for one or
330 more <application>D-Bus</application> interfaces.
331 </para>
332 <indexterm zone="glib2 gdbus-codegen">
333 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
334 </indexterm>
335 </listitem>
336 </varlistentry>
337
338 <varlistentry id="gio">
339 <term><command>gio</command></term>
340 <listitem>
341 <para>
342 is a utility that makes many <application>GIO</application>
343 features available from the command line.
344 </para>
345 <indexterm zone="glib2 gio">
346 <primary sortas="b-gio">gio</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="gio-querymodules">
352 <term><command>gio-querymodules</command></term>
353 <listitem>
354 <para>
355 is used to create a <filename>giomodule.cache</filename> file in
356 the listed directories. This file lists the implemented extension
357 points for each module that has been found.
358 </para>
359 <indexterm zone="glib2 gio-querymodules">
360 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="glib-compile-resources">
366 <term><command>glib-compile-resources</command></term>
367 <listitem>
368 <para>
369 is used to read the resource description from a file and
370 the files that it references to create a binary resource
371 bundle that is suitable for use with the GResource API.
372 </para>
373 <indexterm zone="glib2 glib-compile-resources">
374 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="glib-compile-schemas">
380 <term><command>glib-compile-schemas</command></term>
381 <listitem>
382 <para>
383 is used to compile all the GSettings XML schema files
384 in a directory into a binary file with the name
385 <filename>gschemas.compiled</filename> that can be used by GSettings.
386 </para>
387 <indexterm zone="glib2 glib-compile-schemas">
388 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="glib-genmarshal">
394 <term><command>glib-genmarshal</command></term>
395 <listitem>
396 <para>
397 is a C code marshaller generation utility for GLib closures.
398 </para>
399 <indexterm zone="glib2 glib-genmarshal">
400 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="glib-gettextize">
406 <term><command>glib-gettextize</command></term>
407 <listitem>
408 <para>
409 is a variant of the <application>gettext</application>
410 internationalization utility.
411 </para>
412 <indexterm zone="glib2 glib-gettextize">
413 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="glib-mkenums">
419 <term><command>glib-mkenums</command></term>
420 <listitem>
421 <para>
422 is a C language enum description generation utility.
423 </para>
424 <indexterm zone="glib2 glib-mkenums">
425 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="gobject-query">
431 <term><command>gobject-query</command></term>
432 <listitem>
433 <para>
434 is a small utility that draws a tree of types.
435 </para>
436 <indexterm zone="glib2 gobject-query">
437 <primary sortas="b-gobject-query">gobject-query</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="gresource">
443 <term><command>gresource</command></term>
444 <listitem>
445 <para>
446 offers a simple command line interface to GResource.
447 </para>
448 <indexterm zone="glib2 gresource">
449 <primary sortas="b-gresource">gresource</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="gsettings">
455 <term><command>gsettings</command></term>
456 <listitem>
457 <para>
458 offers a simple command line interface to GSettings.
459 </para>
460 <indexterm zone="glib2 gsettings">
461 <primary sortas="b-gsettings">gsettings</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="gtester">
467 <term><command>gtester</command></term>
468 <listitem>
469 <para>
470 is a test running utility.
471 </para>
472 <indexterm zone="glib2 gtester">
473 <primary sortas="b-gtester">gtester</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 <varlistentry id="gtester-report">
479 <term><command>gtester-report</command></term>
480 <listitem>
481 <para>
482 is a test report formatting utility.
483 </para>
484 <indexterm zone="glib2 gtester-report">
485 <primary sortas="b-gtester-report">gtester-report</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 <varlistentry id="GLib-libraries">
491 <term>GLib libraries</term>
492 <listitem>
493 <para>
494 contain low-level core libraries for the
495 <application>GIMP</application> Toolkit.
496 </para>
497 <indexterm zone="glib2 GLib-libraries">
498 <primary sortas="c-GLib-libraries">Glib libraries</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 </variablelist>
504
505 </sect2>
506
507</sect1>
Note: See TracBrowser for help on using the repository browser.