Bibliothèques Xorg

Introduction à Xorg Libraries

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

This package is known to build and work properly using an LFS 11.3 platform.

Informations sur le paquet

Dépendances de Xorg Libraries

Requises

Fontconfig-2.14.2 et libxcb-1.15

Recommandées

Facultatives

asciidoc-10.2.0, xmlto-0.0.28 avec au moins un des suivants : fop-2.8, Links-2.28, Lynx-2.8.9rel.1, ncompress (pour certains tests) et W3m (pour générer la documentation supplémentaire en PDF ou texte pour le paquet libXfont).

Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Libraries

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"
ce2fb8100c6647ee81451ebe388b17ad  xtrans-1.4.0.tar.bz2
e932752126240f0846b35eef6b1f2c3d  libX11-1.8.4.tar.xz
964942427fcc5a9fa0539661421857c8  libXext-1.3.5.tar.xz
742863a552ecd53cdb957b7b276213cc  libFS-1.0.9.tar.xz
b444a0e4c2163d1bbc7b046c3653eb8d  libICE-1.1.1.tar.xz
ffa434ed96ccae45533b3d653300730e  libSM-1.2.4.tar.xz
e613751d38e13aa0d0fd8e0149cec057  libXScrnSaver-1.2.4.tar.xz
b122ff9a7ec70c94dbbfd814899fffa5  libXt-1.2.1.tar.bz2
ed52d396115fbc4d05300762aab79685  libXmu-1.1.4.tar.xz
b3c58c94e284fd6940d3615e660a0007  libXpm-3.5.15.tar.xz
c1ce21c296bbf3da3e30cf651649563e  libXaw-1.0.14.tar.bz2
86f182f487f4f54684ef6b142096bb0f  libXfixes-6.0.0.tar.bz2
af0a5f0abb5b55f8411cd738cf0e5259  libXcomposite-0.4.6.tar.xz
ebf7fb3241ec03e8a3b2af72f03b4631  libXrender-0.9.11.tar.xz
4cdd1886fe5cce6f68554296edb46db8  libXcursor-1.2.1.tar.xz
ca55d29fa0a8b5c4a89f609a7952ebf8  libXdamage-1.1.6.tar.xz
6d3f1b15bb5b0bb71ae9f0a5103c1fc4  libfontenc-1.1.7.tar.xz
c179daa707f5f432f1bc13977e5bb329  libXfont2-2.0.6.tar.xz
69dc24ba444a0f6bd99423dbf8fd0260  libXft-2.3.7.tar.xz
74055672a111a98ce2841d2ec4057b05  libXi-1.8.tar.bz2
228c877558c265d2f63c56a03f7d3f21  libXinerama-1.1.5.tar.xz
850cbc7c921c9d5d0135734b114ff6ac  libXrandr-1.5.3.tar.xz
66c9e9e01b0b53052bb1d02ebf8d7040  libXres-1.2.2.tar.xz
02f128fbf809aa9c50d6e54c8e57cb2e  libXtst-1.2.4.tar.xz
70bfdd14ca1a563c218794413f0c1f42  libXv-1.0.12.tar.xz
11a358e7229fa28dc9801c1e64fe2e18  libXvMC-1.0.13.tar.xz
74d1acf93b83abeb0954824da0ec400b  libXxf86dga-1.1.6.tar.xz
5b913dac587f2de17a02e17f9a44a75f  libXxf86vm-1.1.5.tar.xz
d2f1f0ec68ac3932dd7f1d9aa0a7a11c  libdmx-1.1.4.tar.bz2
1466cf950c914ad2db1dbb76c9a724db  libpciaccess-0,17.tar.xz
8af2275955d40166bb647b14e4896ab1  libxkbfile-1.1.2.tar.xz
faa74f7483074ce7d4349e6bdc237497  libxshmfence-1.3.2.tar.xz
EOF

Pour télécharger les fichiers nécessaires en utilisant wget, 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 paquets multiples dans un script, les installations doivent être faites en tant qu'utilisateur root. Il y a trois options générales qui peuvent être utilisées pour faire cela :

  1. Lancer le script entièrement en tant qu'utilisateur root (pas recommandé).

  2. Use the sudo command from the Sudo-1.9.13p1 package.

  3. Use su -c "command arguments" (guillemet requis) 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 sélectionne 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 d'où on sortira 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*}
  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]* )
      sed -i '/TestAll.*TRUE/s|^|//|' test/TestAllFiles.h
      ./configure $XORG_CONFIG $docdir --disable-open-zfile
    ;;
    
    * )
      ./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

sed ... test/TestAllFiles.h : corrige un fichier de test pour qu'il fonctionne sans le programme facultatif compress.

--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.28 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.8 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: libdmx.so, 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, 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.1, $XORG_PREFIX/share/doc/libSM-1.2.4, $XORG_PREFIX/share/doc/libX11-1.8.4, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.1.4, $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

libdmx.so

est la bibliothèque d'extension X Window System DMX (Distributed Multihead X)

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

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