source: general/genlib/glib2.xml@ b31b493

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 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/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since b31b493 was b31b493, checked in by Krejzi <krejzi@…>, 12 years ago

glib 2.32.0, add fix for xchat to compile against glib 2.32, add patch that moves libffi includes to /usr/include

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9801 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 role="required"><xref linkend="pkgconfig"/> -->
69 </para>
70
71 <bridgehead renderas="sect4">Recommended</bridgehead>
72 <para role="recommended"><xref linkend="pcre"/>
73 (built with unicode properties)</para>
74
75 <bridgehead renderas="sect4">Optional</bridgehead>
76 <para role="optional"><xref linkend="attr"/>, <xref linkend="dbus"/>
77 (required to run the tests), <xref linkend="gamin"/> and
78 <xref linkend="gtk-doc"/></para>
79
80 <!-- Couldn't find this
81 Re: It's giofam module. It may be unnecesary since there is inotify support now.
82 -->
83
84 <para><application>Gamin</application> requires
85 <application>GLib</application> in order to compile; therefore, you must
86 first install <application>GLib</application>, then compile
87 <application>Gamin</application>, and recompile
88 <application>GLib</application> against it.</para>
89
90 <bridgehead renderas="sect4">Additional Runtime Dependencies</bridgehead>
91 <para role="optional">Quoted directly from the <filename>INSTALL</filename>
92 file; <quote>Some of the mimetype-related functionality in GIO requires the
93 <command>update-mime-database</command> and
94 <command>update-desktop-database</command> utilities</quote>, which are part of
95 <xref linkend="shared-mime-info"/> and
96 <xref linkend="desktop-file-utils"/>, respectively.</para>
97
98 <para condition="html" role="usernotes">User Notes:
99 <ulink url="&blfs-wiki;/glib2"/></para>
100
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of GLib</title>
105
106 <para>Install <application>GLib</application> by running the following
107 commands:</para>
108
109 <!-- This should be discussed as the instructions in the tarball give
110 many reasons why the internal PCRE should be used -->
111
112 <!-- Re: PCRE 8.30 is bundled, and BLFS has same version -->
113
114<screen><userinput>PCRE_LIBS=-lpcre PCRE_CFLAGS=" " \
115LIBFFI_LIBS=-lffi LIBFFI_CFLAGS=" " \
116./configure --prefix=/usr --sysconfdir=/etc --with-pcre=system &amp;&amp;
117make</userinput></screen>
118
119 <para>The <application>GLib</application> test suite requires
120 <application>desktop-file-utils</application> in order to run. However,
121 <application>desktop-file-utils</application> requires
122 <application>GLib</application> in order to compile; therefore, you must
123 first install <application>GLib</application> and then run the test
124 suite.</para>
125
126 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
127
128<screen role="root"><userinput>make install &amp;&amp;
129ln -v -sfn ../../lib/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/glibconfig.h</userinput></screen>
130
131 <para>You should now install <xref linkend="desktop-file-utils"/> and proceed to
132 run the test suite.</para>
133
134 <para>To test the results, issue: <command>make check</command>.</para>
135
136 </sect2>
137
138 <sect2 role="commands">
139 <title>Command Explanations</title>
140
141 <para>PCRE_* and LIBFFI_*: <application>Glib</application> is a prerequsite
142 for <application>pkg_config</application>, but it wants to use
143 <application>pkg_config</application> during the build process. These
144 environment variables work around not having
145 <application>pkg_config</application> available.</para>
146
147 <para><command>ln -v -sfn ... glibconfig.h</command>: Place a link to an
148 architecture dependent header file where programs can find it.</para>
149
150 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
151 href="../../xincludes/gtk-doc-rebuild.xml"/>
152
153 <para><parameter>--with-pcre=system</parameter>: This parameter causes the
154 build to use a system-provided version of the
155 <application>PCRE</application> library instead of an internal
156 version.</para>
157
158 </sect2>
159
160<!-- This has never caused any problems for me. A doc hint could help me
161 understand why this was here in first place.
162
163 <sect2 role="configuration">
164 <title>Configuring GLib</title>
165
166 <sect3>
167 <title>Configuration Information</title>
168
169 <para>By default, <application>GLib</application> assumes that all
170 filenames are in the UTF-8 charset. See the <xref
171 linkend="locale-wrong-filename-encoding"/> section of the <xref
172 linkend="locale-issues"/> page for more details on this kind of issue. In
173 order to tell <application>GLib</application> and applications that use
174 it that filenames are in the default locale encoding, set the variable
175 <envar>G_FILENAME_ENCODING</envar> to the value "@locale". As the
176 <systemitem class="username">root</systemitem> user:</para>
177
178<screen role="root"><userinput>cat &gt; /etc/profile.d/glib2-locale.sh &lt;&lt; "EOF"
179<literal># Use the current locale charset for filenames
180# in applications using GLib
181export G_FILENAME_ENCODING=@locale</literal>
182EOF</userinput></screen>
183
184 </sect3>
185
186 </sect2>
187-->
188
189 <sect2 role="content">
190 <title>Contents</title>
191
192 <segmentedlist>
193 <segtitle>Installed Programs</segtitle>
194 <segtitle>Installed Libraries</segtitle>
195 <segtitle>Installed Directories</segtitle>
196
197 <seglistitem>
198 <seg>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</seg>
203 <seg>libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so,
204 libgobject-2.0.so, libgthread-2.0.so and libgiofam.so</seg>
205 <seg>/usr/{include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}},
206 lib/{gdbus-2.0/codegen,gio/modules,glib-2.0/include},share/
207 {gdb/auto-load,glib-2.0/{gdb,gettext/po},gtk-doc/html/
208 {gio,glib,gobject}}}</seg>
209 </seglistitem>
210 </segmentedlist>
211
212 <variablelist>
213 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
214 <?dbfo list-presentation="list"?>
215 <?dbhtml list-presentation="table"?>
216
217 <varlistentry id="gdbus">
218 <term><command>gdbus</command></term>
219 <listitem>
220 <para>is a simple tool for working with D-Bus objects.</para>
221 <indexterm zone="glib2 gdbus">
222 <primary sortas="b-gdbus">gdbus</primary>
223 </indexterm>
224 </listitem>
225 </varlistentry>
226
227 <varlistentry id="gdbus-codegen">
228 <term><command>gdbus-codegen</command></term>
229 <listitem>
230 <para>is used to generate code and/or documentation for one or
231 more D-Bus interfaces.</para>
232 <indexterm zone="glib2 gdbus-codegen">
233 <primary sortas="b-gdbus-codegen">gdbus-codegen</primary>
234 </indexterm>
235 </listitem>
236 </varlistentry>
237
238 <varlistentry id="gio-querymodules">
239 <term><command>gio-querymodules</command></term>
240 <listitem>
241 <para>is used to create a giomodule.cache file in the listed directories.
242 This file lists the implemented extension points for each module that has
243 been found.</para>
244 <indexterm zone="glib2 gio-querymodules">
245 <primary sortas="b-gio-querymodules">gio-querymodules</primary>
246 </indexterm>
247 </listitem>
248 </varlistentry>
249
250 <varlistentry id="glib-compile-resources">
251 <term><command>glib-compile-resources</command></term>
252 <listitem>
253 <para>is used to read the resource description from file and
254 the files that it references to create a binary resource
255 bundle that is suitable for use with the GResource API.</para>
256 <indexterm zone="glib2 glib-compile-resources">
257 <primary sortas="b-glib-compile-resources">glib-compile-resources</primary>
258 </indexterm>
259 </listitem>
260 </varlistentry>
261
262 <varlistentry id="glib-compile-schemas">
263 <term><command>glib-compile-schemas</command></term>
264 <listitem>
265 <para>is used to compile all the GSettings XML schema files
266 in directory into a binary file with the name gschemas.compiled
267 that can be used by GSettings.</para>
268 <indexterm zone="glib2 glib-compile-schemas">
269 <primary sortas="b-glib-compile-resources">glib-compile-schemas</primary>
270 </indexterm>
271 </listitem>
272 </varlistentry>
273
274 <varlistentry id="glib-genmarshal">
275 <term><command>glib-genmarshal</command></term>
276 <listitem>
277 <para>is a C code marshaller generation utility for GLib
278 closures.</para>
279 <indexterm zone="glib2 glib-genmarshal">
280 <primary sortas="b-glib-genmarshal">glib-genmarshal</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="glib-gettextize">
286 <term><command>glib-gettextize</command></term>
287 <listitem>
288 <para>is a variant of the <application>gettext</application>
289 internationalization utility.</para>
290 <indexterm zone="glib2 glib-gettextize">
291 <primary sortas="b-glib-gettextize">glib-gettextize</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="glib-mkenums">
297 <term><command>glib-mkenums</command></term>
298 <listitem>
299 <para>is a C language enum description generation utility.</para>
300 <indexterm zone="glib2 glib-mkenums">
301 <primary sortas="b-glib-mkenums">glib-mkenums</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
306 <varlistentry id="gobject-query">
307 <term><command>gobject-query</command></term>
308 <listitem>
309 <para>is a small utility that draws a tree of types.</para>
310 <indexterm zone="glib2 gobject-query">
311 <primary sortas="b-gobject-query">gobject-query</primary>
312 </indexterm>
313 </listitem>
314 </varlistentry>
315
316 <varlistentry id="gresource">
317 <term><command>gresource</command></term>
318 <listitem>
319 <para>offers a simple commandline interface to GResource.</para>
320 <indexterm zone="glib2 gresource">
321 <primary sortas="b-gresource">gresource</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="gsettings">
327 <term><command>gsettings</command></term>
328 <listitem>
329 <para>offers a simple commandline interface to GSettings.</para>
330 <indexterm zone="glib2 gsettings">
331 <primary sortas="b-gsettings">gsettings</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="gtester">
337 <term><command>gtester</command></term>
338 <listitem>
339 <para>is a test running utility.</para>
340 <indexterm zone="glib2 gtester">
341 <primary sortas="b-gtester">gtester</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="gtester-report">
347 <term><command>gtester-report</command></term>
348 <listitem>
349 <para>is a test report formatting utility.</para>
350 <indexterm zone="glib2 gtester-report">
351 <primary sortas="b-gtester-report">gtester-report</primary>
352 </indexterm>
353 </listitem>
354 </varlistentry>
355
356 <varlistentry id="GLib-libraries">
357 <term>GLib libraries</term>
358 <listitem>
359 <para>contain a low-level core library for the
360 <application>GIMP</application> Toolkit.</para>
361 <indexterm zone="glib2 GLib-libraries">
362 <primary sortas="c-GLib-libraries">Glib libraries</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 </variablelist>
368
369 </sect2>
370
371</sect1>
Note: See TracBrowser for help on using the repository browser.