source: general/genlib/glib2.xml@ 71d9ded

10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 71d9ded was 8b9cf4c, checked in by Douglas R. Reno <renodr@…>, 4 years ago

Update to vala-0.50.0
Update to libgudev-234
Update to glib-2.66.0
Update to gobject-introspection-1.66.0

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

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