Xorg Libraries

Introduction to Xorg Libraries

The Xorg libraries provide library routines that are used within all X Window applications.

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

Package Information

Xorg Libraries Dependencies

Required

Fontconfig-2.11.1 and libxcb-1.11

Optional

xmlto-0.0.26 with one or more of the following: fop-1.1, Links-2.9, Lynx-2.8.8rel.2, and w3m-0.5.3 (to generate additional PDF or text documentation for the libXfont package).

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

Downloading Xorg Libraries

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 > lib-7.7.md5 << "EOF"
c5ba432dd1514d858053ffe9f4737dd8  xtrans-1.3.5.tar.bz2
c35d6ad95b06635a524579e88622fdb5  libX11-1.6.2.tar.bz2
52df7c4c1f0badd9f82ab124fb32eb97  libXext-1.3.3.tar.bz2
a8a0dbd2299b2568d8c919883f5c8501  libFS-1.0.6.tar.bz2
addfb1e897ca8079531669c7c7711726  libICE-1.0.9.tar.bz2
499a7773c65aba513609fe651853c5f3  libSM-1.2.2.tar.bz2
7a773b16165e39e938650bcc9027c1d5  libXScrnSaver-1.2.2.tar.bz2
03149823ae57bb02d0cec90d5b97d56c  libXt-1.1.4.tar.bz2
41d92ab627dfa06568076043f3e089e4  libXmu-1.1.2.tar.bz2
769ee12a43611cdebd38094eaf83f3f0  libXpm-3.5.11.tar.bz2
7446f5fba888672aad068b29c0928ba3  libXaw-1.0.12.tar.bz2
b985b85f8b9386c85ddcfe1073906b4d  libXfixes-5.0.1.tar.bz2
f7a218dcbf6f0848599c6c36fc65c51a  libXcomposite-0.4.4.tar.bz2
2bd9a15fcf64d216e63b8d129e4f1f1c  libXrender-0.9.8.tar.bz2
1e7c17afbbce83e2215917047c57d1b3  libXcursor-1.1.14.tar.bz2
0cf292de2a9fa2e9a939aefde68fd34f  libXdamage-1.1.4.tar.bz2
ad2919764933e075bb0361ad5caa3d19  libfontenc-1.1.2.tar.bz2
664629bfa7cdf8b984155019fd395dcb  libXfont-1.5.0.tar.bz2
331b3a2a3a1a78b5b44cfbd43f86fcfe  libXft-2.3.2.tar.bz2
9c4a69c34b19ec1e4212e849549544cb  libXi-1.7.4.tar.bz2
9336dc46ae3bf5f81c247f7131461efd  libXinerama-1.1.3.tar.bz2
210ed9499a3d9c96e3a221629b7d39b0  libXrandr-1.4.2.tar.bz2
45ef29206a6b58254c81bea28ec6c95f  libXres-1.0.7.tar.bz2
25c6b366ac3dc7a12c5d79816ce96a59  libXtst-1.2.2.tar.bz2
e0af49d7d758b990e6fef629722d4aca  libXv-1.0.10.tar.bz2
2e4014e9d55c430e307999a6b3dd256d  libXvMC-1.0.8.tar.bz2
d7dd9b9df336b7dd4028b6b56542ff2c  libXxf86dga-1.1.4.tar.bz2
e46f6ee4f4567349a3189044fe1bb712  libXxf86vm-1.1.3.tar.bz2
ba983eba5a9f05d152a0725b8e863151  libdmx-1.1.3.tar.bz2
1f65be5ffc55641c1846c2f41d180d00  libpciaccess-0.13.3.tar.bz2
19e6533ae64abba0773816a23f2b9507  libxkbfile-1.0.8.tar.bz2
66662e76899112c0f99e22f2fc775a7e  libxshmfence-1.2.tar.bz2
EOF

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

mkdir lib &&
cd lib &&
grep -v '^#' ../lib-7.7.md5 | awk '{print $2}' | wget -i- -c \
    -B http://xorg.freedesktop.org/releases/individual/lib/ &&
md5sum -c ../lib-7.7.md5

Installation of Xorg Libraries

[Note]

Note

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.12 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.

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

export -f as_root

Some libraries come with a test suite. If you wish to execute them, either comment out the rm -rf ... below, so that, after all libraries are installed, you can come back to the corresponding directory and run make check, or do individual builds, running the tests for each of those distributed with working test suites. Alternatively, you can uncomment the line #make check ..., and at the end, check the test results with:

grep -A9 summary *make_check.log

BLFS developers have confirmed that libX11, libXt and libxshmfence are distributed with working test suites.

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 '^#' ../lib-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  case $packagedir in
    libXfont-[0-9]* )
      ./configure $XORG_CONFIG --disable-devel-docs
    ;;
    libXt-[0-9]* )
      ./configure $XORG_CONFIG \
                  --with-appdefaultdir=/etc/X11/app-defaults
    ;;
    * )
      ./configure $XORG_CONFIG
    ;;
  esac
  make
  #make check 2>&1 | tee ../$packagedir-make_check.log
  as_root make install
  popd
  rm -rf $packagedir
  as_root /sbin/ldconfig
done

Finally, exit the shell that was started earlier:

exit

Command Explanations

--with-fop: Use fop-1.1 to generate PDF documentation (only for the libXfont package).

--disable-devel-docs: Disable generation of text documentation in the libXfont package if xmlto-0.0.26 is installed without a text browser. Omit this parameter (or the entire case statement) if a text browser is installed.

Configuration of Xorg Libraries

If you've chosen to install Xorg into /usr, then no further configuration is necessary and you can skip the rest of this section. If you've opted for an alternate prefix, you should create three symlinks to satisfy the expected environment of several packages. Execute the following commands as the root user:

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

Contents

Installed Programs: cxpm and sxpm
Installed Libraries: libdmx.so, libfontenc.so, libFS.so, libICE.so, libpciaccess.so, libSM.so, libX11.so, libXaw6.so, libXaw7.so, libXaw.so, libXcomposite.so, libXcursor.so, libXdamage.so, libXext.so, libXfixes.so, libXfont.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 and libXxf86vm.so
Installed Directories: $XORG_PREFIX/include/X11/fonts, $XORG_PREFIX/include/X11/Xtrans, $XORG_PREFIX/share/doc/libFS, $XORG_PREFIX/share/doc/libICE, $XORG_PREFIX/share/doc/libSM, $XORG_PREFIX/share/doc/libX11, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu, $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 and $XORG_PREFIX/share/X11/locale

Short Descriptions

cxpm

checks the format of an XPM file.

sxpm

shows an XPM file and/or converts XPM 1 or 2 files to XPM 3.

libdmx.so

is the X Window System DMX (Distributed Multihead X) extension library.

libfontenc.so

is the X11 font encoding library.

libFS.so

is the library interface to the X Font Server.

libICE.so

is the X Inter Client Exchange Library.

libpciaccess.so

is the generic PCI Access library for X.

libSM.so

is the X Session Management Library.

libX11.so

is the Xlib Library.

libXaw6.so

is the X Athena Widgets Library, version 6.

libXaw7.so

is the X Athena Widgets Library, version 7.

libXaw.so

are symbolic links to the current X Athena Widgets Library, version 7.

libXcomposite.so

is the X Composite Library.

libXcursor.so

is the X Cursor management library.

libXdamage.so

is the X Damage Library.

libXext.so

is the Misc X Extension Library.

libXfixes.so

provides augmented versions of core protocol requests.

libXfont.so

is the X font library.

libXft.so

is the X FreeType interface library.

libXinerama.so

is the Xinerama Library.

libXi.so

is the X Input Extension Library.

libxkbfile.so

is the xkbfile Library.

libXmu.so

is the X interface library for miscellaneous utilities not part of the Xlib standard.

libXmuu.so

is the Mini Xmu Library.

libXpm.so

is the X Pixmap Library.

libXrandr.so

is the X Resize, Rotate and Reflection extension library.

libXrender.so

is the X Render Library.

libXRes.so

is the X-Resource extension client library.

libxshmfence.so

exposes an event API on top of Linux futexes.

libXss.so

is the X11 Screen Saver extension client library.

libXt.so

is the X Toolkit Library.

libXtst.so

is the Xtst Library.

libXvMC.so

is the X-Video Motion Compensation Library.

libXvMCW.so

is the XvMC Wrapper including the Nonstandard VLD extension.

libXv.so

is the X Window System video extension library.

libXxf86dga.so

is the client library for the XFree86-DGA extension.

libXxf86vm.so

is the client library for the XFree86-VidMode X extension.

Last updated on 2015-02-21 23:09:10 -0500