Xorg Protocol Headers

Introduction to Xorg Protocol Headers

The Xorg protocol headers provide the header files required to build the system, and to allow other applications to build against the installed X Window system.

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

Package Information

Xorg Protocol Headers Dependencies





fop-2.1, libxslt-1.1.28, xmlto-0.0.28 and asciidoc-8.6.9 (to build additional documentation)



There is a reciprocal dependency with fop-2.1. If you wish to build the documentation, you'll need to re-install the Protocol Headers after the installation is complete and fop-2.1 has been installed.

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Xorg7ProtocolHeaders

Downloading Xorg Protocol Headers

First, create a list of files to be downloaded. This file will also be used to verify the integrity of the downloads when complete:

cat > proto-7.7.md5 << "EOF"
1a05fb01fa1d5198894c931cf925c025  bigreqsproto-1.1.2.tar.bz2
98482f65ba1e74a08bf5b056a4031ef0  compositeproto-0.4.2.tar.bz2
998e5904764b82642cc63d97b4ba9e95  damageproto-1.2.1.tar.bz2
4ee175bbd44d05c34d43bb129be5098a  dmxproto-2.3.1.tar.bz2
b2721d5d24c04d9980a0c6540cb5396a  dri2proto-2.8.tar.bz2
a3d2cbe60a9ca1bf3aea6c93c817fee3  dri3proto-1.0.tar.bz2
e7431ab84d37b2678af71e29355e101d  fixesproto-5.0.tar.bz2
36934d00b00555eaacde9f091f392f97  fontsproto-2.1.3.tar.bz2
5565f1b0facf4a59c2778229c1f70d10  glproto-1.4.17.tar.bz2
b290a463af7def483e6e190de460f31a  inputproto-2.3.2.tar.bz2
94afc90c1f7bef4a27fdd59ece39c878  kbproto-1.0.7.tar.bz2
2d569c75884455c7148d133d341e8fd6  presentproto-1.0.tar.bz2
a46765c8dcacb7114c821baf0df1e797  randrproto-1.5.0.tar.bz2
1b4e5dede5ea51906f1530ca1e21d216  recordproto-1.14.2.tar.bz2
a914ccc1de66ddeb4b611c6b0686e274  renderproto-0.11.1.tar.bz2
cfdb57dae221b71b2703f8e2980eaaf4  resourceproto-1.2.0.tar.bz2
edd8a73775e8ece1d69515dd17767bfb  scrnsaverproto-1.2.2.tar.bz2
fe86de8ea3eb53b5a8f52956c5cd3174  videoproto-2.3.3.tar.bz2
5f4847c78e41b801982c8a5e06365b24  xcmiscproto-1.2.2.tar.bz2
70c90f313b4b0851758ef77b95019584  xextproto-7.3.0.tar.bz2
120e226ede5a4687b25dd357cc9b8efe  xf86bigfontproto-1.2.0.tar.bz2
a036dc2fcbf052ec10621fd48b68dbb1  xf86dgaproto-2.1.tar.bz2
1d716d0dac3b664e5ee20c69d34bc10e  xf86driproto-2.1.1.tar.bz2
e793ecefeaecfeabd1aed6a01095174e  xf86vidmodeproto-2.3.1.tar.bz2
9959fe0bfb22a0e7260433b8d199590a  xineramaproto-1.2.1.tar.bz2
3ce2f230c5d8fa929f326ad1f0fa40a8  xproto-7.0.28.tar.bz2

To download the needed files using wget, use the following commands:

mkdir proto &&
cd proto &&
grep -v '^#' ../proto-7.7.md5 | awk '{print $2}' | wget -i- -c \
    -B http://ftp.x.org/pub/individual/proto/ &&
md5sum -c ../proto-7.7.md5

Installation of Xorg Protocol Headers



When installing multiple packages in a script, the installation needs to be done as the root user. There are three general options that can be used to do this:

  1. Run the entire script as the root user (not recommended).

  2. Use the sudo command from the Sudo-1.8.16 package.

  3. Use su -c "command arguments" (quotes required) which will ask for the root password for every iteration of the loop.

One way to handle this situation is to create a short bash function that automatically selects the appropriate method. Once the command is set in the environment, it does not need to be set again.

  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"

export -f as_root

First, start a subshell that will exit on error:

bash -e

Install all of the packages by running the following commands:

for package in $(grep -v '^#' ../proto-7.7.md5 | awk '{print $2}')
  tar -xf $package
  pushd $packagedir
  ./configure $XORG_CONFIG
  as_root make install
  rm -rf $packagedir

Finally, exit the shell that was started earlier:


Command Explanations

bash -e: This command starts a subshell that will exit if any command returns a value other than 0, causing the for loop to exit immediately if an error occurs. This also eliminates the need for the && construct used elsewhere in the book.


Installed Programs: None
Installed Libraries: None
Installed Directories: $XORG_PREFIX/include/GL, $XORG_PREFIX/include/X11, $XORG_PREFIX/share/doc/bigreqsproto, $XORG_PREFIX/share/doc/compositeproto, $XORG_PREFIX/share/doc/damageproto, $XORG_PREFIX/share/doc/dri2proto, $XORG_PREFIX/share/doc/dri3proto, $XORG_PREFIX/share/doc/fixesproto, $XORG_PREFIX/share/doc/fontsproto, $XORG_PREFIX/share/doc/kbproto, $XORG_PREFIX/share/doc/presentproto, $XORG_PREFIX/share/doc/randrproto, $XORG_PREFIX/share/doc/recordproto, $XORG_PREFIX/share/doc/renderproto, $XORG_PREFIX/share/doc/resourceproto, $XORG_PREFIX/share/doc/scrnsaverproto, $XORG_PREFIX/share/doc/videoproto, $XORG_PREFIX/share/doc/xcmiscproto, $XORG_PREFIX/share/doc/xextproto and $XORG_PREFIX/share/doc/xproto

Last updated on 2016-04-16 18:52:17 -0500