Bibliothèques Xorg

Introduction à Xorg Libraries

Les bibliothèques Xorg fournissent des routines de bibliothèque utilisées dans touts les applications X Window.

[Note]

Note

Les versions de développement de BLFS peuvent ne pas arriver à contruire ou à exécuter certains paquets correctement si LFS ou des dépendances ont été mises à jour depuis la dernière version stable des livres.

Informations sur le paquet

  • Téléchargement (HTTP) : https://www.x.org/pub/individual/lib/

  • Téléchargement (FTP) :

  • Taille du téléchargement : 12 Mo

  • Estimation de l'espace disque requis : 274 Mo (47 Mo installé) - si les répertoires des sources ne sont pas supprimés

  • Estimation du temps de construction : 1,8 SBU

Dépendances de Xorg Libraries

Requises

Fontconfig-2.17.1 et libxcb-1.17.0

Facultatives

asciidoc-10.2.1, xmlto-0.0.29 avec au moins un des suivants : fop-2.11, Links-2.30, Lynx-2.9.2, ncompress (pour certains tests) et W3m (pour générer la documentation supplémentaire en PDF ou texte pour le paquet libXfont).

Recommandées à l'exécution

Téléchargement des bibliothèques Xorg

Tout d'abord, créez une liste des fichiers à télécharger. Ce fichier sera utilisé également pour vérifier l'intégrité des téléchargements après leur accomplissement :

cat > lib-7.md5 << "EOF"
6ad67d4858814ac24e618b8072900664  xtrans-1.6.0.tar.xz
146d770e564812e00f97e0cbdce632b7  libX11-1.8.12.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
8816cc44d06ebe42e85950b368185826  libfontenc-1.1.8.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

Pour télécharger les fichiers requis avec Wget-1.25.0, utilisez les commandes suivantes :

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

Installation de Xorg Libraries

[Note]

Note

Pour l'installation de plusieurs paquets dans un script, les installations doivent être faites en tant qu'utilisateur root. Il y a trois possibilités génériques pour cela :

  1. Exécuter le script complet en tant qu'utilisateur root (pas recommandé).

  2. Utiliser la commande sudo du paquet Sudo-1.9.17p2.

  3. Utiliser su -c "command arguments" (les guillemets sont nécessaires) qui demandera le mot de passe root à chaque itération de la boucle.

Une façon de gérer cette situation est de créer une petite fonction bash qui choisit automatiquement la méthode appropriée. Une fois que la commande est initialisée dans l'environnement, il n'est plus nécessaire de le refaire.

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

export -f as_root

Certaines bibliothèques ont des suites de tests. Si vous souhaitez les lancer, soit commentez le rm -rf ... suivant, pour que, après l'installation de toutes les bibliothèques, vous puissiez aller dans le répertoire correspondant et lancer make check, ou pour des constructions individuelles, lancer les tests pour chacun de ceux distribués avec une suite de tests fonctionnelle. Autrement, vous pouvez dé-commenter la ligne #make check ..., et à la fin, vérifier les résultats des tests avec :

grep -A9 summary *make_check.log

Les développeurs de BLFS ont confirmé que libX11, libXt, libXmu, libXpm et libxshmfence sont distribués avec des suites de tests qui fonctionnent.

Tout d'abord, démarrez un sous-shell qui terminera en cas d'erreur :

bash -e

Installez tous les paquets en exécutant les commandes suivantes :

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"
  
  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* )
      mkdir build
      cd    build
        meson setup --prefix=$XORG_PREFIX --buildtype=release ..
        ninja
        #ninja test
        as_root ninja install
      popd     # $packagedir
      continue # for loop
    ;;

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

  make
  #make check 2>&1 | tee ../$packagedir-make_check.log
  as_root make install
  popd
  rm -rf $packagedir
  as_root /sbin/ldconfig
done

Enfin, quittez le shell démarré tout à l'heure :

exit

Explication des commandes

--disable-open-zfile : permet à libXpm pour construire sans la commande compress facultative.

--disable-devel-docs : désactive la génération de la documentation texte dans le paquet libXfont2 si xmlto-0.0.29 est installé sans navigateur de texte. Omettre ce paramètre (ou la condition case entière) si un navigateur de texte est installé.

--with-fop : Utiliser fop-2.11 pour générer la documentation PDF (seulement pour le paquet libXfont).

Configuration des bibliothèques Xorg

Si vous avez choisi d'installer Xorg dans /usr, aucune configuration supplémentaire n'est nécessaire et vous pouvez passer le reste de cette section. Si vous avez opté pour un préfixe alternatif, vous devriez créer deux liens symboliques pour satisfaire l'environnement attendu de plusieurs paquets. Exécutez les commandes suivantes en tant qu'utilisateur root :

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

Contenu

Programmes installés: cxpm et sxpm
Bibliothèques installées: 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 et libXxf86vm.so
Répertoires installés: $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.12, $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 et $XORG_PREFIX/share/X11/locale

Descriptions courtes

cxpm

vérifie le format d'un fichier XPM

sxpm

affiche un fichier XPM et convertit des fichiers XPM 1 ou 2 en XPM 3

libfontenc.so

est la bibliothèque d'encodage des polices X11

libFS.so

est l'interface de la bibliothèque pour le serveur de police X

libICE.so

est la bibliothèque X Inter Clients Exchange

libpciaccess.so

est la bibliothèque pour l'accès PCI générique pour X

libSM.so

est la bibliothèque de gestion d'une session X

libX11.so

est la bibliothèque Xlib

libXaw6.so

est la bibliothèque X Athena Widgets, version 6

libXaw7.so

est la bibliothèque X Athena Widgets, version 7

libXaw.so

sont des liens symboliques vers la bibliothèque actuelle X Athena Widgets, version 7

libXcomposite.so

est la bibliothèque X Composite

libXcursor.so

est la bibliothèque de gestion du curseur X

libXdamage.so

est la bibliothèque X Damage

libXext.so

est la bibliothèque Misc X Extension

libXfixes.so

fournit des versions supérieures des requêtes du cœur du protocole

libXfont2.so

est la bibliothèque de polices X

libXft.so

est la bibliothèque interface de X FreeType

libXinerama.so

est la bibliothèque Xinerama

libXi.so

est la bibliothèque d'extension X Input

libxkbfile.so

est la bibliothèque xkbfile

libXmu.so

est la bibliothèque d'interface X pour des utilitaires supplémentaires qui ne font pas partie de la Xlib standard

libXmuu.so

est la bibliothèque Mini Xmu

libXpm.so

est la bibliothèque X Pixmap

libXpresent.so

est l'interface de la bibliothèque pour l'extension Present de X

libXrandr.so

est la bibliothèque d'extension de X pour le redimensionnement, la rotation et la symétrie

libXrender.so

est la bibliothèque X de rendu

libXRes.so

est la bibliothèque du client d'extension des ressources X

libxshmfence.so

place une API d'événements au dessus des futexes Linux

libXss.so

est la bibliothèque d'extension du client X11 de l'économiseur d'écran

libXt.so

est la bibliothèque X Toolkit

libXtst.so

est la bibliothèque Xtst

libXvMC.so

est la bibliothèque de compensation de mouvement de X-Video

libXvMCW.so

est l'enveloppe XvMC incluant l'extension VLD non standard

libXv.so

est la bibliothèque d'extension du système X Window

libXxf86dga.so

est la bibliothèque du client pour l'extension XFree86-DGA

libXxf86vm.so

est la bibliothèque du client pour l'extension XFree86-VidMode X