source: general/genlib/glib2.xml@ 13d90a85

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 13d90a85 was 13d90a85, checked in by Xi Ruoyao <xry111@…>, 3 years ago

glib: add workaround for glibc-2.34

  • Property mode set to 100644
File size: 17.1 KB
RevLine 
[52d29f7]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[52d29f7]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[6489da7]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">
[d7d7e0e5]9 <!ENTITY glib2-md5sum "a3968c7510447f055fd2204ba947f80f">
[ad240ea0]10 <!ENTITY glib2-size "4.7 MB">
[d7d7e0e5]11 <!ENTITY glib2-buildsize "194 MB (add 5 MB for tests)">
12 <!ENTITY glib2-time "0.6 SBU (add 1.0 SBU for tests; both using parallelism=4)">
[52d29f7]13]>
14
[7c461b3]15<sect1 id="glib2" xreflabel="GLib-&glib2-version;">
[7c18102]16 <?dbhtml filename="glib2.html"?>
[4c3474fe]17
[7c18102]18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
[4c3474fe]21
[7c18102]22 <title>GLib-&glib2-version;</title>
[4c3474fe]23
[7c18102]24 <indexterm zone="glib2">
25 <primary sortas="a-GLib2">GLib2</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to GLib</title>
[4c3474fe]30
[b84342d6]31 <para>
[2c38e951]32 The <application>GLib</application> package contains low-level
[0d7900a]33 libraries useful for providing data structure handling for C, portability
[b84342d6]34 wrappers and interfaces for such runtime functionality as an
35 event loop, threads, dynamic loading and an object system.
36 </para>
[4c3474fe]37
[9029db2]38 &lfs101_checked;
[08f1ff7]39
[7c18102]40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
[b84342d6]43 <para>
44 Download (HTTP): <ulink url="&glib2-download-http;"/>
45 </para>
[7c18102]46 </listitem>
47 <listitem>
[b84342d6]48 <para>
49 Download (FTP): <ulink url="&glib2-download-ftp;"/>
50 </para>
[7c18102]51 </listitem>
52 <listitem>
[b84342d6]53 <para>
54 Download MD5 sum: &glib2-md5sum;
55 </para>
[7c18102]56 </listitem>
57 <listitem>
[b84342d6]58 <para>
59 Download size: &glib2-size;
60 </para>
[7c18102]61 </listitem>
62 <listitem>
[b84342d6]63 <para>
64 Estimated disk space required: &glib2-buildsize;
65 </para>
[7c18102]66 </listitem>
67 <listitem>
[b84342d6]68 <para>
69 Estimated build time: &glib2-time;
70 </para>
[7c18102]71 </listitem>
72 </itemizedlist>
[4c3474fe]73
[a9c0e8d]74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Optional patch:
79 <ulink url="&patch-root;/glib-&glib2-version;-skip_warnings-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
[4c3474fe]83
[a9c0e8d]84 <bridgehead renderas="sect3">GLib Dependencies</bridgehead>
[0a4eeb6]85
[1b9e36e]86 <bridgehead renderas="sect4">Recommended</bridgehead>
[b8a081c]87 <para role="recommended">
[7da16bf]88 <xref linkend="libxslt"/> and
[d3e019dc]89 <xref linkend="pcre"/> (built with Unicode properties)
[b8a081c]90 </para>
[1b9e36e]91
[7c18102]92 <bridgehead renderas="sect4">Optional</bridgehead>
[b8a081c]93 <para role="optional">
[57a7172]94 <xref linkend="dbus"/> and
95 <ulink url="https://bindfs.org/">bindfs</ulink>
96 (both may be used in some tests),
[cd0c5a70]97 <xref linkend="gdb"/> (for bindings),
[57a7172]98 <xref linkend="DocBook"/>,
[f1fbb028]99 <xref linkend="docbook-xsl"/>,
[511f7c8f]100 <xref linkend="gtk-doc"/> (to build API documentation),
[f1fbb028]101 <xref linkend="glib-networking"/> (for some tests, but this is a circular
[511f7c8f]102 dependency), and
103 <xref linkend="sysprof"/>
[b8a081c]104 </para>
[b31b493]105
[75103a06]106 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
[86ceb63]107 <para role="recommended">
[572553b]108 <xref role="runtime" linkend="gobject-introspection"/>
109 (should be installed before gtk+, atk, etc.)
[86ceb63]110 </para>
[b84342d6]111 <para role="optional">
[70b674f2]112 Quoted directly from the <filename>INSTALL</filename> file:
[b84342d6]113 <quote>Some of the mimetype-related functionality in GIO requires the
114 <command>update-mime-database</command> and
[0d7900a]115 <command>update-desktop-database</command> utilities</quote>,
[b84342d6]116 which are part of
[572553b]117 <xref role="runtime" linkend="shared-mime-info"/> and
118 <xref role="runtime" linkend="desktop-file-utils"/>, respectively.
[57a7172]119 These two utilities are also needed for some tests.
[b84342d6]120 </para>
[75103a06]121
[1039de3]122 <para condition="html" role="usernotes">User Notes:
[7ded7e3]123 <ulink url="&blfs-wiki;/glib2"/>
124 </para>
[7c18102]125 </sect2>
[4c3474fe]126
[7c18102]127 <sect2 role="installation">
128 <title>Installation of GLib</title>
129
[d56e7df]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>
[a9c0e8d]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
[d56e7df]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>
[a9c0e8d]153
154<screen><userinput>patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch</userinput></screen>
155
[8b9cf4c]156 <warning>
157 <para>
158 If a previous version of glib is installed, move the headers out of the
159 way so that later packages do not encounter conflicts:
160 </para>
161
[1daf906e]162<screen role="root"><userinput remap="pre">if [ -e /usr/include/glib-2.0 ]; then
163 rm -rf /usr/include/glib-2.0.old &amp;&amp;
164 mv -vf /usr/include/glib-2.0{,.old}
165fi</userinput></screen>
[8b9cf4c]166
167 </warning>
[ddd5a70]168
[13d90a85]169 <para>
170 Fix an issue building this package with Glibc-2.34 or later:
171 </para>
172
173<screen><userinput>sed 's/close_range (.[^)]*/&amp;, 0/' -i glib/gspawn.c</userinput></screen>
174
[b84342d6]175 <para>
176 Install <application>GLib</application> by running the following
177 commands:
178 </para>
[b31b493]179
[2cc9305]180<screen><userinput>mkdir build &amp;&amp;
181cd build &amp;&amp;
[0a4eeb6]182
[20f070d8]183meson --prefix=/usr \
184 --buildtype=release \
185 -Dman=true \
186 -Dselinux=disabled \
187 .. &amp;&amp;
[0a4eeb6]188ninja</userinput></screen>
[3a802b2]189
[6489da7]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
[14ff5ee]193 constraint linkend:" when generating the man pages. These are harmless.
[6489da7]194 </para></note>
195
[b84342d6]196 <para>
197 The <application>GLib</application> test suite requires
[2c38e951]198 <application>desktop-file-utils</application> for some tests. However,
[b84342d6]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>
[4c3474fe]204
[b84342d6]205 <para>
206 Now, as the <systemitem class="username">root</systemitem> user:
207 </para>
[4c3474fe]208
[aee85523]209<screen role="root"><userinput>ninja install &amp;&amp;
210
211mkdir -p /usr/share/doc/glib-&glib2-version; &amp;&amp;
[4509c956]212cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version;</userinput></screen>
[7da16bf]213
[b84342d6]214 <para>
[d1a5310]215 You should now install <xref linkend="desktop-file-utils"/> and
216 <xref linkend="shared-mime-info"/> and proceed to
[b84342d6]217 run the test suite.
218 </para>
[c0e1d87]219
[b84342d6]220 <para>
[2c38e951]221 To test the results, after having installed the package, issue:
[4979e5c]222 <command>ninja test</command>.
[f11d372a]223 <!-- glib issue #1954: -->
[2e4d847e]224 <!-- One test named gdbus-server-auth sometimes fails.-->
[4979e5c]225 <!-- SysV has the symlink now, so gdatetime no longer fails.-->
[7da16bf]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) != '/');
[3ab0b56]232
[2e4d847e]233 NOTE: systemd implements this as a hard requirement. -->
[d1a5310]234 <!-- with 2.60.4 on systemd, all tests pass. -->
[2e4d847e]235 <!-- with 2.64.1 on sysV, all tests pass. -->
[b84342d6]236 </para>
[c0e1d87]237
[1b8bba3]238 <para>
239 Finally, if this is a reinstall from glib2-2.64.x or earlier, remove
240 (as the <systemitem class="username">root</systemitem> user) an
241 obsolete header file that interferes with some packages:
242 </para>
243
244<screen role="root rebuild"><userinput>rm -f /usr/include/glib-2.0/glib/gurifuncs.h</userinput></screen>
245
[7c18102]246 </sect2>
[4c3474fe]247
[7c18102]248 <sect2 role="commands">
249 <title>Command Explanations</title>
[864b24de]250
[20f070d8]251 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
252 href="../../xincludes/meson-buildtype-release.xml"/>
253
[90ae149]254 <para>
[7da16bf]255 <parameter>-Dman=true</parameter>: This switch causes the
256 build to create and install the package man pages.
[b84342d6]257 </para>
[7147513]258
[860b8f3]259 <para>
[2e456fd]260 <parameter>-Dselinux=disabled</parameter>: This switch disables
[3ab0b56]261 support for selinux which is not supported in BLFS.
[860b8f3]262 </para>
263
[7da16bf]264 <para>
[1a27983]265 <option>-Dgtk_doc=true</option>: This switch causes the
[7da16bf]266 build to create and install the API documentation.
267 </para>
[eb954a8]268
[7c18102]269 </sect2>
[4c3474fe]270
[7c18102]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>
[4c3474fe]278
[7c18102]279 <seglistitem>
[0913f48]280 <seg>
[0a4eeb6]281 gapplication, gdbus, gdbus-codegen,
[8212d8a]282 gio, gio-querymodules,
[0913f48]283 glib-compile-resources, glib-compile-schemas,
[0a4eeb6]284 glib-genmarshal, glib-gettextize,
285 glib-mkenums, gobject-query,
286 gresource, gsettings,
287 gtester, and gtester-report
[0913f48]288 </seg>
289 <seg>
[0a4eeb6]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
[0913f48]295 </seg>
296 <seg>
[d3e019dc]297 /usr/include/gio-unix-2.0,
[0a4eeb6]298 /usr/include/glib-2.0,
[eb954a8]299 /usr/lib/glib-2.0,
[14726fe]300 /usr/share/glib-2.0,
301 /usr/share/doc/glib-&glib2-version;, and
[eb954a8]302 /usr/share/gtk-doc/html/{gio,glib,gobject}
[0913f48]303 </seg>
[7c18102]304 </seglistitem>
305 </segmentedlist>
[4c3474fe]306
[7c18102]307 <variablelist>
308 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
309 <?dbfo list-presentation="list"?>
310 <?dbhtml list-presentation="table"?>
[4c3474fe]311
[837e96ed]312 <varlistentry id="gapplication">
313 <term><command>gapplication</command></term>
314 <listitem>
315 <para>
[c5ebc8ac]316 can be used to start applications and to send
[4c24eb0a]317 messages to already-running instances of other applications
[837e96ed]318 </para>
319 <indexterm zone="glib2 gapplication">
320 <primary sortas="b-gapplication">application</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
[b31b493]324 <varlistentry id="gdbus">
325 <term><command>gdbus</command></term>
326 <listitem>
[b84342d6]327 <para>
[d3e019dc]328 is a simple tool used for working with
[4c24eb0a]329 <application>D-Bus</application> objects
[b84342d6]330 </para>
[b31b493]331 <indexterm zone="glib2 gdbus">
332 <primary sortas="b-gdbus">gdbus</primary>
333 </indexterm>
334 </listitem>
335 </varlistentry>
336
337 <varlistentry id="gdbus-codegen">
338 <term><command>gdbus-codegen</command></term>
339 <listitem>
[b84342d6]340 <para>
[0d7900a]341 is used to generate code and/or documentation for one or
[4c24eb0a]342 more <application>D-Bus</application> interfaces
[b84342d6]343 </para>
[b31b493]344 <indexterm zone="glib2 gdbus-codegen">
345 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
[0797528]350 <varlistentry id="gio">
351 <term><command>gio</command></term>
352 <listitem>
353 <para>
354 is a utility that makes many <application>GIO</application>
[4c24eb0a]355 features available from the command line
[0797528]356 </para>
357 <indexterm zone="glib2 gio">
358 <primary sortas="b-gio">gio</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
[b31b493]363 <varlistentry id="gio-querymodules">
364 <term><command>gio-querymodules</command></term>
365 <listitem>
[b84342d6]366 <para>
[c5ebc8ac]367 is used to create a <filename>giomodule.cache</filename> file in
368 the listed directories. This file lists the implemented extension
[4c24eb0a]369 points for each module that has been found
[b84342d6]370 </para>
[b31b493]371 <indexterm zone="glib2 gio-querymodules">
372 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
373 </indexterm>
374 </listitem>
375 </varlistentry>
376
377 <varlistentry id="glib-compile-resources">
378 <term><command>glib-compile-resources</command></term>
379 <listitem>
[b84342d6]380 <para>
[0797528]381 is used to read the resource description from a file and
[0d7900a]382 the files that it references to create a binary resource
[4c24eb0a]383 bundle that is suitable for use with the GResource API
[b84342d6]384 </para>
[b31b493]385 <indexterm zone="glib2 glib-compile-resources">
386 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="glib-compile-schemas">
392 <term><command>glib-compile-schemas</command></term>
393 <listitem>
[b84342d6]394 <para>
[0d7900a]395 is used to compile all the GSettings XML schema files
[3ab0b56]396 in a directory into a binary file with the name
[4c24eb0a]397 <filename>gschemas.compiled</filename> that can be used by GSettings
[b84342d6]398 </para>
[b31b493]399 <indexterm zone="glib2 glib-compile-schemas">
400 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
[7c18102]405 <varlistentry id="glib-genmarshal">
406 <term><command>glib-genmarshal</command></term>
407 <listitem>
[b84342d6]408 <para>
[4c24eb0a]409 is a C code marshaller generation utility for GLib closures
[b84342d6]410 </para>
[7c18102]411 <indexterm zone="glib2 glib-genmarshal">
412 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
[4c3474fe]416
[7c18102]417 <varlistentry id="glib-gettextize">
418 <term><command>glib-gettextize</command></term>
419 <listitem>
[b84342d6]420 <para>
421 is a variant of the <application>gettext</application>
[4c24eb0a]422 internationalization utility
[b84342d6]423 </para>
[7c18102]424 <indexterm zone="glib2 glib-gettextize">
425 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
[4c3474fe]429
[7c18102]430 <varlistentry id="glib-mkenums">
431 <term><command>glib-mkenums</command></term>
432 <listitem>
[b84342d6]433 <para>
[4c24eb0a]434 is a C language enum description generation utility
[b84342d6]435 </para>
[7c18102]436 <indexterm zone="glib2 glib-mkenums">
437 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
[4c3474fe]441
[7c18102]442 <varlistentry id="gobject-query">
443 <term><command>gobject-query</command></term>
444 <listitem>
[b84342d6]445 <para>
[4c24eb0a]446 is a small utility that draws a tree of types
[b84342d6]447 </para>
[7c18102]448 <indexterm zone="glib2 gobject-query">
449 <primary sortas="b-gobject-query">gobject-query</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
[4c3474fe]453
[b31b493]454 <varlistentry id="gresource">
455 <term><command>gresource</command></term>
456 <listitem>
[b84342d6]457 <para>
[4c24eb0a]458 offers a simple command line interface to GResource
[b84342d6]459 </para>
[b31b493]460 <indexterm zone="glib2 gresource">
461 <primary sortas="b-gresource">gresource</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="gsettings">
467 <term><command>gsettings</command></term>
468 <listitem>
[b84342d6]469 <para>
[4c24eb0a]470 offers a simple command line interface to GSettings
[b84342d6]471 </para>
[b31b493]472 <indexterm zone="glib2 gsettings">
473 <primary sortas="b-gsettings">gsettings</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
[e103708b]478 <varlistentry id="gtester">
479 <term><command>gtester</command></term>
480 <listitem>
[b84342d6]481 <para>
[4c24eb0a]482 is a test running utility
[b84342d6]483 </para>
[e103708b]484 <indexterm zone="glib2 gtester">
485 <primary sortas="b-gtester">gtester</primary>
486 </indexterm>
487 </listitem>
488 </varlistentry>
489
490 <varlistentry id="gtester-report">
491 <term><command>gtester-report</command></term>
492 <listitem>
[b84342d6]493 <para>
[4c24eb0a]494 is a test report formatting utility
[b84342d6]495 </para>
[e103708b]496 <indexterm zone="glib2 gtester-report">
497 <primary sortas="b-gtester-report">gtester-report</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
[7c18102]502 <varlistentry id="GLib-libraries">
503 <term>GLib libraries</term>
504 <listitem>
[b84342d6]505 <para>
[2c38e951]506 contain low-level core libraries for the
[4c24eb0a]507 <application>GIMP</application> Toolkit
[b84342d6]508 </para>
[7c18102]509 <indexterm zone="glib2 GLib-libraries">
510 <primary sortas="c-GLib-libraries">Glib libraries</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
[4c3474fe]514
[7c18102]515 </variablelist>
516
517 </sect2>
[d4340990]518
519</sect1>
Note: See TracBrowser for help on using the repository browser.