Bibliotecas do Xorg

Introdução às Bibliotecas do Xorg

As bibliotecas do "Xorg" fornecem rotinas de biblioteca que são usadas em todos os aplicativos do Janelas "X".

[Nota]

Nota

Esse pacote é conhecido por construir e funcionar adequadamente usando-se uma plataforma LFS 13.0.

Informação do Pacote

  • Transferência (HTTP): https://www.x.org/pub/individual/lib/

  • Transferência (FTP):

  • Tamanho da transferência: 12 MB

  • Espaço em disco estimado exigido: 274 MB (47 MB instalado) - se os diretórios dos fontes não deletados

  • Tempo de construção estimado: 1,8 UPC

Dependências das Bibliotecas do Xorg

Exigidas

Fontconfig-2.17.1 e libxcb-1.17.0

Opcionais

asciidoc-10.2.1, xmlto-0.0.29 com um ou mais do seguinte: fop-2.11, Links-2.30, Lynx-2.9.2, ncompress (para alguns testes) e W3m (para gerar documentação adicional "PDF" ou texto para o pacote "libXfont").

Recomendadas em tempo de execução

Transferindo as Bibliotecas do Xorg

Primeiro, crie uma lista de arquivos a serem baixados. Esse arquivo também será usado para verificar a integridade das transferências quando concluídas:

cat > lib-7.md5 << "EOF"
6ad67d4858814ac24e618b8072900664  xtrans-1.6.0.tar.xz
b617a053d2003cc81309f4e13d01379c  libX11-1.8.13.tar.xz
ea8149187a26e9df6dbd94a60b3d8da0  libXext-1.3.7.tar.xz
c5cc0942ed39c49b8fcd47a427bd4305  libFS-1.0.10.tar.xz
d1ffde0a07709654b20bada3f9abdd16  libICE-1.1.2.tar.xz
3aeeea05091db1c69e6f768e0950a431  libSM-1.2.6.tar.xz
ec09c90a1cfd2c0630321d366a5e7203  libXScrnSaver-1.2.5.tar.xz
9acd189c68750b5028cf120e53c68009  libXt-1.3.1.tar.xz
1ef8065f0284e76c2238770365012ab2  libXmu-1.3.1.tar.xz
d22b838e42ac0229ddf5a3afaf23910c  libXpm-3.5.18.tar.xz
2a9793533224f92ddad256492265dd82  libXaw-1.0.16.tar.xz
baa39ada682dd524491a165bb0dfc708  libXfixes-6.0.2.tar.xz
132816d5efccb883bbc2bf45eb905770  libXcomposite-0.4.7.tar.xz
4c54dce455d96e3bdee90823b0869f89  libXrender-0.9.12.tar.xz
5ce55e952ec2d84d9817169d5fdb7865  libXcursor-1.2.3.tar.xz
72bb73f2a07f81784ad69a39d7df1da2  libXdamage-1.1.7.tar.xz
3cba344d6b351cf308114865afa0d91e  libfontenc-1.1.9.tar.xz
66e03e3405d923dfaf319d6f2b47e3da  libXfont2-2.0.7.tar.xz
d378be0fcbd1f689f9a132e0d642bc4b  libXft-2.3.9.tar.xz
95a960c1692a83cc551979f7ffe28cf4  libXi-1.8.2.tar.xz
5f3f5754a40730d1518233a60ba5c48e  libXinerama-1.1.6.tar.xz
b550dfa388292a821aecdd52acecc94c  libXrandr-1.5.5.tar.xz
5014282a08b54ec0edfa73c5cf9ae2c1  libXres-1.2.3.tar.xz
b62dc44d8e63a67bb10230d54c44dcb7  libXtst-1.2.5.tar.xz
8a26503185afcb1bbd2c65e43f775a67  libXv-1.0.13.tar.xz
de4227c5722a8f5ca5748f3ef524aeee  libXvMC-1.0.15.tar.xz
543164f1239fbe92cc0a9128d8da88e9  libXxf86dga-1.1.7.tar.xz
bea9e3707fae6c3275769e771006fa0f  libXxf86vm-1.1.7.tar.xz
57c7efbeceedefde006123a77a7bc825  libpciaccess-0.18.1.tar.xz
fa0faa5b6a8e726186c535d73712ccea  libxkbfile-1.2.0.tar.xz
9805be7e18f858bed9938542ed2905dc  libxshmfence-1.3.3.tar.xz
53b72ce969745f8d3e41175d6549ce0b  libXpresent-1.0.2.tar.xz
EOF

Para baixar os arquivos necessários usando o Wget-1.25.0, use os seguintes comandos:

mkdir lib &&
cd lib &&
grep -v '^#' ../lib-7.md5 | awk '{print $2}' | wget -i- -c \
   -B https://www.x.org/pub/individual/lib/ &&
md5sum -c ../lib-7.md5

Instalação das Bibliotecas do Xorg

[Nota]

Nota

Quando se instalar múltiplos pacotes em um conjunto de comandos sequênciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para se fazer isso:

  1. Executar o conjunto inteiro de comandos sequênciais como o(a) usuário(a) root (não recomendado).

  2. Usar-se o comando sudo originário do pacote Sudo-1.9.17p2.

  3. Usar-se su -c "argumentos do comando" (aspas exigidas), que solicitará a senha do(a) root para cada interação do ciclo.

Uma maneira para se lidar com essa situação é a de se criar uma função curta do bash que automaticamente selecione o método apropriado. Uma vez que o comando esteja configurado no ambiente, não se precisa configurá-lo novamente.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

Algumas bibliotecas vem com uma suíte de teste. Se desejar executá-las, [então] comente o "rm -rf ..." abaixo, para que, depois que todas as bibliotecas estiverem instaladas, você consiga voltar ao diretório correspondente e executar "make check ", ou fazer construções individuais, executando os testes para cada um daqueles distribuídos com suítes funcionais de teste. Alternativamente, você pode descomentar a linha "#make check ..." e, no final, verificar os resultados do teste com:

grep -A9 summary *make_check.log

Os(As) desenvolvedores(as) do BLFS confirmaram que "libX11", "libXt", "libXmu", "libXpm" e "libxshmfence" são distribuídos com suítes funcionais de testes.

Primeiro, inicie um sub shell que sairá em caso de erro:

bash -e

Instale todos os pacotes executando os seguintes comandos:

for package in $(grep -v '^#' ../lib-7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  echo "Building $packagedir"

  tar -xf $package
  pushd $packagedir
  docdir="--docdir=$XORG_PREFIX/share/doc/$packagedir"

  do_build() { make; }
  do_test() { make check; }
  do_install() { as_root make install; }
  
  case $packagedir in
    libXfont2-[0-9]* )
      ./configure $XORG_CONFIG $docdir --disable-devel-docs
    ;;

    libXt-[0-9]* )
      ./configure $XORG_CONFIG $docdir \
                  --with-appdefaultdir=/etc/X11/app-defaults
    ;;

    libXpm-[0-9]* )
      ./configure $XORG_CONFIG $docdir --disable-open-zfile
    ;;
  
    libpciaccess* | libxkbfile* )
      meson setup --prefix=$XORG_PREFIX --buildtype=release build
      do_build()  { ninja -C build; }
      do_test() { ninja -C build test; }
      do_install() { as_root ninja -C build install; }
    ;;

    * )
      ./configure $XORG_CONFIG $docdir
    ;;
  esac

  do_build
  #do_test |& tee ../$packagedir-test.log
  do_install
  unset do_build do_test do_install

  popd
  rm -rf $packagedir
  as_root /sbin/ldconfig
done

Finalmente, saia do shell que foi iniciado anteriormente:

exit

Explicações do Comando

--disable-open-zfile: Permitir que a "libXpm" construa sem o comando opcional "compress" presente.

--disable-devel-docs: Desabilite a geração de documentação de texto no pacote "libXfont2", se o "xmlto-0.0.29" estiver instalado, sem um navegador de texto. Omita esse parâmetro (ou toda a instrução "case") se um navegador de texto estiver instalado.

--with-fop: Use o "fop-2.11" para gerar documentação em "PDF" (somente para o pacote "libXfont").

Configuração das Bibliotecas do Xorg

Se tiver escolhido instalar o "Xorg" em "/usr", então nenhuma configuração adicional será necessária e você poderá ignorar o restante desta seção. Se tiver optado por um prefixo alternativo, [então] você deveria criar dois links simbólicos para satisfazer o ambiente esperado de vários pacotes. Execute os seguintes comandos como o(a) usuário(a) "root":

ln -sv $XORG_PREFIX/lib/X11 /usr/lib/X11 &&
ln -sv $XORG_PREFIX/include/X11 /usr/include/X11

Conteúdo

Aplicativos Instalados: cxpm e sxpm
Bibliotecas Instaladas: libfontenc.so, libFS.so, libICE.so, libpciaccess.so, libSM.so, libX11.so, libX11-xcb, libXaw6.so, libXaw7.so, libXaw.so, libXcomposite.so, libXcursor.so, libXdamage.so, libXext.so, libXfixes.so, libXfont2.so, libXft.so, libXinerama.so, libXi.so, libxkbfile.so, libXmu.so, libXmuu.so, libXpm.so, libXpresent.so, libXrandr.so, libXrender.so, libXRes.so, libxshmfence.so, libXss.so, libXt.so, libXtst.so, libXvMC.so, libXvMCW.so, libXv.so, libXxf86dga.so e libXxf86vm.so
Diretórios Instalados: $XORG_PREFIX/include/X11/fonts, $XORG_PREFIX/include/X11/ICE, $XORG_PREFIX/include/X11/SM, $XORG_PREFIX/include/X11/Xmu, $XORG_PREFIX/include/X11/Xtrans, $XORG_PREFIX/share/doc/libFS, $XORG_PREFIX/share/doc/libICE-1.1.2, $XORG_PREFIX/share/doc/libSM-1.2.6, $XORG_PREFIX/share/doc/libX11-1.8.13, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.3.1, $XORG_PREFIX/share/doc/libXrender, $XORG_PREFIX/share/doc/libXt, $XORG_PREFIX/share/doc/libXtst, $XORG_PREFIX/share/doc/libXvMC, $XORG_PREFIX/share/doc/xtrans e $XORG_PREFIX/share/X11/locale

Descrições Curtas

cxpm

verifica o formato de um arquivo "XPM"

sxpm

mostra um arquivo "XPM" e(ou) converte arquivos "XPM" 1 ou 2 em "XPM" 3

libfontenc.so

é a biblioteca de codificação de fontes "X11"

libFS.so

é a interface da biblioteca para o Servidor de Fontes do "X"

libICE.so

é a Biblioteca de Intercâmbio "Inter Client" do "X"

libpciaccess.so

é a biblioteca genérica Acesso "PCI" para o "X"

libSM.so

é a Biblioteca de Gerenciamento de Sessões do "X"

libX11.so

é a biblioteca "Xlib"

libXaw6.so

é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 6

libXaw7.so

é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7

libXaw.so

são links simbólicos para a atual Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7

libXcomposite.so

é a Biblioteca Composta do "X"

libXcursor.so

é a biblioteca de gerenciamento de Cursor do "X"

libXdamage.so

é a Biblioteca Danos do "X"

libXext.so

é a Biblioteca de Extensão Misc do "X"

libXfixes.so

fornece versões aumentadas de solicitações de protocolo principais

libXfont2.so

é a biblioteca de fontes do "X"

libXft.so

é a biblioteca de interface "FreeType" do "X"

libXinerama.so

é a Biblioteca "Xinerama"

libXi.so

é a Biblioteca de Extensão de Entrada do "X"

libxkbfile.so

é a Biblioteca "xkbfile"

libXmu.so

é a biblioteca de interface do "X" para utilitários diversos não partes do padrão "Xlib"

libXmuu.so

é a Biblioteca "Mini Xmu"

libXpm.so

é a Biblioteca "Pixmap" do "X"

libXpresent.so

é a interface da biblioteca para a extensão X Present

libXrandr.so

é a biblioteca de extensões "Resize", "Rotate" e "Reflection" do "X"

libXrender.so

é a Biblioteca de Renderização do "X"

libXRes.so

é a biblioteca cliente de extensão "X-Resource"

libxshmfence.so

expõe uma "API" de eventos no topo de "futexes" do Linux

libXss.so

é a biblioteca cliente da extensão Protetor de Tela "X11"

libXt.so

é a Biblioteca Kit de Ferramentas do "X"

libXtst.so

é a Biblioteca "Xtst"

libXvMC.so

é a Biblioteca de Compensação de Movimento de Vídeo do "X"

libXvMCW.so

é o Envólucro "XvMC" incluindo a extensão "VLD" não padrão

libXv.so

é a biblioteca de extensão de vídeo do Sistema de Janelas "X"

libXxf86dga.so

é a biblioteca cliente para a extensão "DGA" do "XFree86"

libXxf86vm.so

é a biblioteca cliente para a extensão "VidMode" do "XFree86" do "X"