Introdução a GLib
        
        
          O pacote GLib contém bibliotecas
          de baixo nível úteis para fornecer manipulação de estrutura de
          dados para C, amarradores de portabilidade e interfaces para
          funcionalidades em tempo de execução, como um loop de eventos,
          camadas, carregamento dinâmico e um sistema de objetos.
        
        
          Esse pacote é conhecido por construir e funcionar adequadamente
          usando uma plataforma LFS 11.3.
        
        
          Informação do Pacote
        
        
        
          Transferências Adicionais
        
        
        
          Dependências de GLib
        
        
          Recomendada
        
        
          libxslt-1.1.37 e pcre2-10.42
        
        
          Opcionais
        
        
          dbus-1.14.6 (para alguns testes), Fuse-3.13.1 e
          bindfs (ambos
          necessários para um teste), GDB-13.1 (para vinculações), docbook-xml-4.5,
          docbook-xsl-nons-1.79.2, GTK-Doc-1.33.2 (para construir a documentação
          da API), glib-networking-2.74.0 (para
          alguns testes, porém isso é uma dependência circular) e sysprof-3.46.0
        
        
          Dependências Adicionais de Tempo de Execução
        
        
          gobject-introspection-1.74.0
          (deveria ser instalado antes de gtk+, atk, etc.)
        
        
          Citado diretamente do arquivo INSTALL: “Algumas das funcionalidades relacionadas ao tipo mime no
          GIO exigem os utilitários update-mime-database e
          update-desktop-database”,
          os quais são parte de shared-mime-info-2.2 e desktop-file-utils-0.26,
          respectivamente. Esses dois utilitários também são necessários para
          alguns testes.
        
        
          Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/glib2
        
       
      
        
          Instalação de GLib
        
        
          Se desejado, aplique o remendo opcional. Em muitos casos, os
          aplicativos que usam essa biblioteca, direta ou indiretamente, por
          meio de outras bibliotecas, tais como GTK+-3.24.36, emitem
          numerosos avisos quando executados a partir da linha de comando.
          Esse remendo habilita o uso de uma variável de ambiente,
          GLIB_LOG_LEVEL, que suprime mensagens
          indesejadas. O valor da variável é um dígito que corresponde a:
        
        
          
            | 
              1 Alerta
             | 
          
          
            | 
              2 Crítico
             | 
          
          
            | 
              3 Erro
             | 
          
          
            | 
              4 Aviso
             | 
          
          
            | 
              5 Informe
             | 
          
        
        
          Por exemplo, export
          GLIB_LOG_LEVEL=4 pulará a saída gerada de mensagens
          Warning e Notice (e mensagens de Informação/Depuração se estiverem
          ativadas). Se GLIB_LOG_LEVEL não estiver
          definida, a saída gerada normal de mensagem não será afetada.
        
        patch -Np1 -i ../glib-2.74.5-skip_warnings-1.patch
        
          
          
            Atenção
          
          
            Se uma versão anterior da glib estiver instalada, [então] mova os
            cabeçalhos para fora do caminho, de modo que os pacotes
            posteriores não encontrem conflitos:
          
          if [ -e /usr/include/glib-2.0 ]; then
    rm -rf /usr/include/glib-2.0.old &&
    mv -vf /usr/include/glib-2.0{,.old}
fi
         
        
          Instale GLib executando os
          seguintes comandos:
        
        mkdir build &&
cd    build &&
meson --prefix=/usr       \
      --buildtype=release \
      -Dman=true          \
      ..                  &&
ninja
        
          
          
            Nota
          
          
            Se libxslt-1.1.37 estiver instalado, [então] o
            comando acima possivelmente indique vários (cerca de 33) erros
            que começam com "Error: no ID for constraint linkend:" ao gerar
            as páginas de manual. Esses são inofensivos.
          
         
        
          A suíte de teste da GLib exige
          desktop-file-utils para alguns
          testes. No entanto, desktop-file-utils exige a GLib para a finalidade de compilar; portanto,
          você precisa primeiro instalar a GLib e então executar a suíte de teste.
        
        
          Agora, como o(a) usuário(a) root:
        
        ninja install &&
mkdir -p /usr/share/doc/glib-2.74.5 &&
cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.74.5
        
          Você deveria agora instalar desktop-file-utils-0.26 e shared-mime-info-2.2 e proceder à
          execução da suíte de teste.
        
        
          
          
            Atenção
          
          
            Não execute a suíte de teste como root ou alguns testes falharão
            inesperadamente e deixarão alguns diretórios não compatíveis com
            FHS na hierarquia /usr.
          
         
        
          Para testar os resultados, depois de ter instalado o pacote, emita:
          LC_ALL=C ninja test
          como um(a) usuário(a) não root. Um
          teste chamado glib:glib / error é
          conhecido por falhar.
        
       
      
        
          Explicações do Comando
        
        
          --buildtype=release:
          Especifique um tipo de construção adequado para lançamentos
          estáveis do pacote, pois o padrão possivelmente produza binários
          não otimizados.
        
        
          -Dman=true: Essa chave faz
          com que a construção crie e instale as páginas de manual do pacote.
        
        
          -Dgtk_doc=true: Essa chave faz com que
          a construção crie e instale a documentação da API.