%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. &lfs82_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 Required patch: Optional patch: GLib Dependencies Recommended (built with Unicode properties) Optional (required for some tests), , , and (to build manual pages) 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. User Notes: Installation of GLib If desired, appy 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 were installed, you will need to adjust all installed libtool archives to replace references to the libtool archives for this package, /usr/lib/libg{io,lib,module,object,thread}-2.0.la, with the appropriate linker library flag (-l), -lg{io,lib,module,object,thread}. 600+ files must be modified on a complete gnome desktop. Install GLib by running the following commands: patch -Np1 -i ../glib-&glib2-version;-meson_fixes-1.patch && mkdir build-glib && cd build-glib && meson --prefix=/usr -Dwith-pcre=system -Dwith-docs=no .. && 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 && chmod -v 755 /usr/bin/{gdbus-codegen,glib-gettextize} && 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. When run in a graphical environment, one test, appinfo, fails if is not installed. Command Explanations sed ... meson.build: Fix the version of the package to be consistent with other version numbers embedded in the code. -Dwith-pcre=system: This switch causes the build to use a system-provided version of the PCRE library instead of an internal version. -Dwith-docs=no: This switch prevents rebuilding the package documentation. Contents Installed Programs Installed Libraries Installed Directories gapplication, gdbus, gdbus-codegen, gio, 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/gio, /usr/lib/glib-2.0, and /usr/share/glib-2.0 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 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