source: general/genlib/glib2.xml@ 48a5d77

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.4 9.0 9.1 bdubbs/svn 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 48a5d77 was 8a748821, checked in by Bruce Dubbs <bdubbs@…>, 5 years ago

Update to glib-2.58.2.
Update to garcon-0.6.2.
Update to unbound-1.8.3.

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

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