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.
        
        
          This package is known to build and work properly using an LFS-8.2
          platform.
        
        
          Package Information
        
        
        
          Additional Downloads
        
        
        
          GLib Dependencies
        
        
          Recommended
        
        
          PCRE-8.41
          (built with Unicode properties)
        
        
          Optional
        
        
          dbus-1.12.4 (required for some tests), docbook-xml-4.5, docbook-xsl-1.79.2, and libxslt-1.1.32 (to
          build manual pages)
        
        
          Additional Runtime Dependencies
        
        
          gobject-introspection-1.54.1
          (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 shared-mime-info-1.9 and desktop-file-utils-0.23,
          respectively.
        
        
          User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/glib2
        
       
      
        
          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 GTK+-3.22.28, 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-2.54.3-skip_warnings-1.patch
        
          
          
            Warning
          
          
            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-2.54.3-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:
        
        
          
          
            Note
          
          
            If libxslt-1.1.32 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-2.54.3 &&
cp -r ../docs/reference/{NEWS,README,gio,glib,gobject} /usr/share/doc/glib-2.54.3
        
          You should now install desktop-file-utils-0.23 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 gnome-terminal-3.26.2 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.