%general-entities; ]> $LastChangedBy$ $Date$ GLib-&glib2-version; GLib2 Introduction to GLib The GLib package contains low-level libraries 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. &lfs84_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &glib2-md5sum; Download size: &glib2-size; Estimated disk space required: &glib2-buildsize; Estimated build time: &glib2-time; Additional Downloads Optional patch: GLib Dependencies Recommended and (built with Unicode properties) Optional and bindfs (both may be used in some tests), (for bindings), , , and (to build API documentation) Additional Runtime Dependencies (should be installed before gtk+, atk, etc.) 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 and , respectively. These two utilities are also needed for some tests. User Notes: Installation of GLib If desired, apply the optional patch. In many cases, applications that use this library, either directly or indirectly via other libraries such as , output numerous warnings when run from the command line. This patch enables the use of an environment variable, GLIB_LOG_LEVEL, that supresses unwanted messages. The value of the variable is a digit that corresponds to: 1 Alert 2 Critical 3 Error 4 Warning 5 Notice For instance GLIB_LOG_LEVEL=4 will skip output of Warning and Notice messages (and Info/Debug messages if they are turned on). If GLIB_LOG_LEVEL is not defined, normal message output will not be affected. patch -Np1 -i ../glib-&glib2-version;-skip_warnings-1.patch If upgrading from a previous version of GLib that was built using autotools, and the libtool archives (.la files) were installed, you will need to adjust all installed libtool archives, /usr/lib/libg{io,lib,module,object,thread}-2.0.la, to replace references to the libtool archives for this package with the appropriate linker library flag (-l), -lg{io,lib,module,object,thread}. 600+ files must be modified on a complete gnome desktop. Alternatively, you can just remove the unneeded .la files with the script at . Install GLib by running the following commands: mkdir build && cd build && meson --prefix=/usr \ -Dman=true \ -Dselinux=disabled \ .. && ninja The GLib test suite requires desktop-file-utils for some tests. 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: If is installed, the following command may indicate several (about 33) errors that start with "Error: no ID for constraint linkend:" when installing the man pages. These are harmless. ninja install && mkdir -p /usr/share/doc/glib-&glib2-version; && cp -r ../docs/reference/{NEWS,gio,glib,gobject} /usr/share/doc/glib-&glib2-version; You should now install and proceed to run the test suite. To test the results, after having installed the package, issue: ninja test. One test, gdatetime, is known to fail on sysvinit systems. Command Explanations -Dman=true: This switch causes the build to create and install the package man pages. -Dselinux=false: This switch disables support for selinux which is not supported in BLFS. -Ddoc=true: This switch causes the build to create and install the API documentation. Contents Installed Programs Installed Libraries Installed Directories gapplication, gdbus, gdbus-codegen, gio, gio-launch-desktop, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester, and gtester-report libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so, and libgthread-2.0.so /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/glib-2.0, /usr/share/glib-2.0, and /usr/share/gtk-doc/html/{gio,glib,gobject} Short Descriptions gapplication can be used to start applications and to send messages to already-running instances of other applications. application gdbus is a simple tool used for working with D-Bus objects. gdbus gdbus-codegen is used to generate code and/or documentation for one or more D-Bus interfaces. gdbus-codegen gio is a utility that makes many GIO features available from the command line. gio gio-querymodules is used to create a giomodule.cache file in the listed directories. This file lists the implemented extension points for each module that has been found. gio-querymodules glib-compile-resources is used to read the resource description from a file and the files that it references to create a binary resource bundle that is suitable for use with the GResource API. glib-compile-resources glib-compile-schemas is used to compile all the GSettings XML schema files in a directory into a binary file with the name gschemas.compiled that can be used by GSettings. glib-compile-schemas glib-genmarshal is a C code marshaller generation utility for GLib closures. glib-genmarshal glib-gettextize is a variant of the gettext internationalization utility. glib-gettextize glib-mkenums is a C language enum description generation utility. glib-mkenums gobject-query is a small utility that draws a tree of types. gobject-query gresource offers a simple command line interface to GResource. gresource gsettings offers a simple command line interface to GSettings. gsettings gtester is a test running utility. gtester gtester-report is a test report formatting utility. gtester-report GLib libraries contain low-level core libraries for the GIMP Toolkit. Glib libraries