GLib-2.30.1

Introduction to GLib

The GLib package contains a low-level core library. This is useful for providing data structure handling for C, portability wrappers and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.

This package is known to build and work properly using an LFS-7.0 platform.

Package Information

GLib Dependencies

Required

libffi-3.0.10 and Python-2.7.2

Recommended

Optional

attr-2.4.44 and GTK-Doc-1.18

Additional Runtime Dependencies

Quoted directly from the INSTALL file; “Some of the mimetype-related functionality in GIO requires the update-mime-database and update-desktop-database utilities”, which are part of shared-mime-info-0.91 and desktop-file-utils-0.18, respectively.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/glib2

Installation of GLib

Install GLib by running the following commands:

PCRE_LIBS=-lpcre  PCRE_CFLAGS=" "                                \
LIBFFI_LIBS=-lffi LIBFFI_CFLAGS=-I/usr/lib/libffi-3.0.10/include \
./configure --prefix=/usr --with-pcre=system &&
make

The GLib test suite requires desktop-file-utils in order to run. However, desktop-file-utils requires GLib in order to compile; therefore, you must first install GLib and then run the test suite.

Now, as the root user:

make install &&
ln -v -sfn ../../lib/glib-2.0/include/glibconfig.h /usr/include/glib-2.0/glibconfig.h

You should now install desktop-file-utils-0.18 and proceed to run the test suite.

To test the results, issue: make check.

Command Explanations

PCRE_* and LIBFFI_*: Glib is a prerequsite for pkg_config, but it wants to use pkg_config during the build process. These environment variables work around not having pkg_config available.

ln -v -sfn ... glibconfig.h: Place a link to an architecture dependent header file where programs can find it.

--enable-gtk-doc: Use this parameter if GTK-Doc is installed and you wish to rebuild and install the API documentation.

--with-pcre=system: This parameter causes the build to use a system-provided version of the PCRE library instead of an internal version.

Configuring GLib

Configuration Information

By default, GLib assumes that all filenames are in the UTF-8 charset. See the Wrong Filename Encoding section of the Locale Related Issues page for more details on this kind of issue. In order to tell GLib and applications that use it that filenames are in the default locale encoding, set the variable G_FILENAME_ENCODING to the value "@locale":

cat > /etc/profile.d/glib2-locale.sh << "EOF"
# Use the current locale charset for filenames
# in applications using GLib
export G_FILENAME_ENCODING=@locale
EOF

Contents

Installed Programs: gio-querymodules, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gtester and gtester-report
Installed Libraries: libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so, and libgthread-2.0.so
Installed Directories: /usr/{include/{gio-unix-2.0/gio,glib-2.0/{gio,glib,gobject}}, lib/{gio/modules,glib-2.0/include},share/{gdb/auto-load,glib-2.0/{gdb, gettext/po},gtk-doc/html/{gio,glib,gobject}}}

Short Descriptions

glib-genmarshal

is a C code marshaller generation utility for GLib closures.

glib-gettextize

is a variant of the gettext internationalization utility.

glib-mkenums

is a C language enum description generation utility.

gobject-query

is a small utility that draws a tree of types.

gtester

is a test running utility.

gtester-report

is a test report formatting utility.

GLib libraries

contain a low-level core library for the GIMP Toolkit.

Last updated on 2011-11-17 16:36:40 +0000