Difference between revisions of "Xorg7/Libraries"

From CBLFS
Jump to navigationJump to search
(Multilib)
(Added a note about a fix for xtrans installing it's .pc file in the wrong location (on AMD64, at least))
 
(17 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
Back to [[Xorg7/Utilities|Utilities]]
 
Back to [[Xorg7/Utilities|Utilities]]
  
{{Package-Introduction|There are forty-four libraries.  Similar to the protocols, using wget and appending a *.bz2 or *.gz to the base URL above is probably the most efficient way to get the tarballs on your system.
+
{{Package-Introduction|There are 47 libraries.  Similar to the protocols, using wget and appending a *.bz2 or *.gz to the base URL above is probably the most efficient way to get the tarballs on your system.
  
 
Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows. This will prevent multiple versions from being downloaded when multiple versions exist.
 
Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows. This will prevent multiple versions from being downloaded when multiple versions exist.
Line 20: Line 20:
 
The X.org libraries require their respective protocols to be installed first.  Although not necessary, it is recommended that all of the protocol headers are installed before the libraries.
 
The X.org libraries require their respective protocols to be installed first.  Although not necessary, it is recommended that all of the protocol headers are installed before the libraries.
  
There are some dependency orders in the libraries.  xtrans, Xau, Xdmcp must be installed before anything else.  libXext must be installed before any other extension library.  The list following is a successful build order for the Xorg librariesAssuming all of the protocol headers were previously installed, additional dependencies, if they exist, are listed.
+
There are some dependency orders in the libraries.  xtrans, Xau, Xdmcp must be installed before anything else.  libXext must be installed before any other extension library.  The wget file above lists the libraries in the proper build order.  Additional, non-Xorg, dependencies are listed below for those libraries that require them..
  
 
{|style="text-align: left" border="0" cellspacing="0" width="85%" align="center" rules="all"
 
{|style="text-align: left" border="0" cellspacing="0" width="85%" align="center" rules="all"
 
|-
 
|-
 
!style="text-align: center" width="10%"|Xorg Library
 
!style="text-align: center" width="10%"|Xorg Library
!style="text-align: center" width="25%"|Required
+
!style="text-align: left" width="25%"|Required
!style="text-align: center" width="25%"|Recommended
+
!style="text-align: left" width="25%"|Recommended
!style="text-align: center" width="25%"|Optional
+
!style="text-align: left" width="25%"|Optional
 
|-
 
|-
|style="text-align: center; font-weight: bold"|xtrans || || ||
+
|style="text-align: center; font-weight: bold"|libX11 || || [[XCB]] ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXau || || ||
+
|style="text-align: center; font-weight: bold"|libXaw || [[ed]] || ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXdmcp || || ||
+
|style="text-align: center; font-weight: bold"|libXfont || [[FreeType]] || ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libpthread-stubs || || ||
+
|style="text-align: center; font-weight: bold"|libXft ||[[FreeType]], [[FontConfig]] || ||
|-
 
|style="text-align: center; font-weight: bold"|libX11 ||xtrans, libXdmcp, libXau, xextproto, kbproto || [[XCB]] ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXext ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libAppleWM ||libX11, libXext || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libFS ||xtrans || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libICE ||xtrans || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libSM ||libICE || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libWindowsWM ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXScrnSaver ||libX11, libXext || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXt ||libX11, libSM || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXTrap ||libX11, libXt || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXmu ||libX11, libXt || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXpm ||libXt || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXp ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXaw ||libXext, libXmu, libXpm, libXp || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXfixes ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXcomposite ||libXfixes || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXrender ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXcursor ||libXrender, libXfixes || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXdamage ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXevie || || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libfontenc || || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXfont ||libfontenc, [[FreeType]] || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXfontcache ||libX11, libXext|| ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXft ||[[FreeType]], [[FontConfig]], libXrender || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXi ||libXext || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXinerama ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXprintUtil ||libX11, libXp || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXprintAppUtil ||libX11, libXprintUtil || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXrandr ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXres ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXtst ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXv ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXvMC ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXxf86dga || || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXxf86misc || || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libXxf86vm ||libX11, libXext || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libdmx ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|liblbxutil || || ||
 
|-
 
|style="text-align: center; font-weight: bold"|liboldX ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libxkbfile ||libX11 || ||
 
|-
 
|style="text-align: center; font-weight: bold"|libxkbui ||libX11 || ||
 
 
|-
 
|-
 
|style="text-align: center; font-weight: bold"|libpciaccess ||[[PCI Utilities]] || ||
 
|style="text-align: center; font-weight: bold"|libpciaccess ||[[PCI Utilities]] || ||
Line 217: Line 135:
  
 
== Multilib ==
 
== Multilib ==
 
+
{{note|On my system (AMD64) at least, xtrans installs it's pkg-config file to '$XORG_PREFX/share/pkg-config/' instead of '$XORG_PREFIX/lib{,64}/pkgconfig'. Moving the 'xtrans.pc' file to the correct location fixed some later errors.}}
 
=== 32Bit ===
 
=== 32Bit ===
  
Line 232: Line 150:
 
For libXft
 
For libXft
  
  mv /usr/bin/xft-config{,-32}
+
  mv ${XORG_PREFIX}/bin/xft-config{,-32}
  
 
=== N32 ===
 
=== N32 ===
Line 248: Line 166:
 
For libXFt
 
For libXFt
  
  mv /usr/bin/xft-config{,-n32}
+
  mv ${XORG_PREFIX}/bin/xft-config{,-n32}
  
 
=== 64Bit ===
 
=== 64Bit ===
Line 264: Line 182:
 
For libXFt
 
For libXFt
  
  mv /usr/bin/xft-config{,-64}
+
  mv ${XORG_PREFIX}/bin/xft-config{,-64} &&
  ln -sv multiarch_wrapper /usr/bin/xft-config
+
  ln -sv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xft-config
 
 
 
 
  
 
{{Note|After installing all of the libraries run ldconfig.}}
 
{{Note|After installing all of the libraries run ldconfig.}}
Line 277: Line 193:
 
=== Non Multilib ===
 
=== Non Multilib ===
  
Install the protocol headers:
+
Install the Xorg libraries:
  
 
  top=$PWD
 
  top=$PWD
  cat ../lib-{{Xorg7-Version}}.wget | while read package; do
+
  cat ../Lib-{{Xorg7-Version}}.wget | while read package; do
 
   packagedir=$(sed -e "s/\.tar\.bz2//" <<< $package)
 
   packagedir=$(sed -e "s/\.tar\.bz2//" <<< $package)
 
   
 
   
Line 300: Line 216:
 
  done
 
  done
 
  rm done
 
  rm done
 +
ldconfig
  
 
=== Multilib ===
 
=== Multilib ===
  
Install the protocol headers:
+
Install the Xorg libraries:
  
 
  top=$PWD
 
  top=$PWD
Line 313: Line 230:
 
   grep ^$packagedir$ done && continue;
 
   grep ^$packagedir$ done && continue;
 
   
 
   
   tar xvf $package || break
+
   tar xvf $package &&
   cd $packagedir || break
+
   cd $packagedir &&
 
   
 
   
 
   PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
 
   PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
   CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
+
   CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
   ./configure $XORG_CONFIG32 || break
+
   ./configure $XORG_CONFIG32 &&
   make || break
+
   make &&
 
   make install || break
 
   make install || break
 
   
 
   
   cd .. || break
+
  if [ -f "${XORG_PREFIX}/bin/xft-config" ]; then
   rm -rfv $packagedir || break
+
    mv "${XORG_PREFIX}/bin/xft-config"{,-32} || break
 +
  fi
 +
 +
   cd .. &&
 +
   rm -rfv $packagedir &&
 
   
 
   
   tar xfv $package || break
+
   tar xfv $package &&
   cd $packagedir || break
+
   cd $packagedir &&
 
   
 
   
 
   PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
 
   PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
   CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \  
+
   CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
   ./configure $XORG_CONFIG64 || break
+
   ./configure $XORG_CONFIG64 &&
   make || break
+
   make &&
 
   make install || break
 
   make install || break
 
   
 
   
   cd .. || break
+
  if [ -f "${XORG_PREFIX}/bin/xft-config" ]; then
 +
    mv "${XORG_PREFIX}/bin/xft-config"{,-64} || break
 +
  fi
 +
 +
   cd .. &&
 
   rm -rfv $packagedir || break
 
   rm -rfv $packagedir || break
 
   
 
   
   echo "$packagedir" >> done || break
+
   echo "$packagedir" >> done
 
  done
 
  done
 +
ln -sv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xft-config
 
  rm done
 
  rm done
 +
ldconfig
  
 
Next install [[Xorg7/libdrm|libdrm]]
 
Next install [[Xorg7/libdrm|libdrm]]
Line 345: Line 272:
 
= Contents =
 
= Contents =
  
Each Xorg library installs one or more set of libraries (*.so,la,a) files.  Rather than listing all of the files installed, a listing of the 44 library packages and a short description of each follows.  For the interested party, a link to a list of the directories, programs, and libraries installed by all Xorg-7.1 library packages is also provided.  The 44 library packages, listed in build order, with a short description are:  
+
Each Xorg library installs one or more set of libraries (*.so,la,a) files.  Rather than listing all of the files installed, a listing of the 47 library packages and a short description of each follows.  The 47 library packages, listed in build order, with a short description are:  
  
 
{|style="text-align: left" border="0" cellspacing="0" width="85%" align="center" rules="all"
 
{|style="text-align: left" border="0" cellspacing="0" width="85%" align="center" rules="all"
 
|-
 
|-
!width="10%" style="text-align: center"|Xorg Library
+
!width="15%" style="text-align: center"|Xorg Library
!width="15%" style="text-align: center"|File List
+
!width="70%" style="text-align: center"|Short Description
!width="60%" style="text-align: center"|Short Description
 
 
|-
 
|-
|style="text-align: center; font-weight: bold"|xtrans ||[http://cross-lfs.org/~arowland/installed_files/xml/xtrans-1.0.0.xml xtrans]||Transport (protocol) table.  Contains a definition for every transport (protocol) family. All operations that can be made on the transport go through this table.
+
|style="text-align: center; font-weight: bold"|xtrans ||Transport (protocol) table.  Contains a definition for every transport (protocol) family. All operations that can be made on the transport go through this table.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXau ||[http://cross-lfs.org/~arowland/installed_files/xml/libXau-1.0.1-64.xml libXau]||The main interface to the X11 authorization handling, which controls authorization for X connections, both client-side and server-side.
+
|style="text-align: center; font-weight: bold"|libXau ||The main interface to the X11 authorization handling, which controls authorization for X connections, both client-side and server-side.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXdmcp ||[http://cross-lfs.org/~arowland/installed_files/xml/libXdmcp-1.0.1-64.xml libXdmcp]||The main interface to the X11 display manager control protocol library, which allows for remote logins to display managers.
+
|style="text-align: center; font-weight: bold"|libXdmcp ||The main interface to the X11 display manager control protocol library, which allows for remote logins to display managers.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libX11 ||[http://cross-lfs.org/~arowland/installed_files/xml/libX11-1.0.1-64.xml libX11]||The main client interface to the X Window System and is otherwise known as 'Xlib'. It provides a complete API for the basic functions of the window system.
+
|style="text-align: center; font-weight: bold"|libX11 ||The main client interface to the X Window System and is otherwise known as 'Xlib'. It provides a complete API for the basic functions of the window system.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXext ||[http://cross-lfs.org/~arowland/installed_files/xml/libXext-1.0.1-64.xml libXext]||Provides an X Window System client interface to several extensions to the X protocol.  libXext also provides a small set of utility functions to aid authors of client APIs for X protocol extensions.
+
|style="text-align: center; font-weight: bold"|libXext ||Provides an X Window System client interface to several extensions to the X protocol.  libXext also provides a small set of utility functions to aid authors of client APIs for X protocol extensions.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libAppleWM || ||
+
|style="text-align: center; font-weight: bold"|libAppleWM ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libWindowsWM ||[http://cross-lfs.org/~arowland/installed_files/xml/libWindowsWM-1.0.0-64.xml libWindowsWM]||
+
|style="text-align: center; font-weight: bold"|libWindowsWM ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libdmx ||[http://cross-lfs.org/~arowland/installed_files/xml/libdmx-1.0.2-64.xml libdmx]||The interface to the DMX extension for X, which allows a single server to be set up as a proxy spanning multiple servers -- not unlike Xinerama across discrete physical machines. It can be reconfigured on the fly to change the layout, and it is presented as a single logical display to clients.  libdmx allows clients to configure the layout of DMX servers by adding and removing screens, input devices, et al.
+
|style="text-align: center; font-weight: bold"|libdmx ||The interface to the DMX extension for X, which allows a single server to be set up as a proxy spanning multiple servers -- not unlike Xinerama across discrete physical machines. It can be reconfigured on the fly to change the layout, and it is presented as a single logical display to clients.  libdmx allows clients to configure the layout of DMX servers by adding and removing screens, input devices, et al.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libfontenc ||[http://cross-lfs.org/~arowland/installed_files/xml/libfontenc-1.0.2-64.xml libfontenc]||The font encodings library.
+
|style="text-align: center; font-weight: bold"|libfontenc ||The font encodings library.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libFS ||[http://cross-lfs.org/~arowland/installed_files/xml/libFS-1.0.0-64.xml libFS]||Provides various functions useful to X11 font servers, and clients connecting to font servers. It is not used outside of these implementations.
+
|style="text-align: center; font-weight: bold"|libFS ||Provides various functions useful to X11 font servers, and clients connecting to font servers. It is not used outside of these implementations.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libICE ||[http://cross-lfs.org/~arowland/installed_files/xml/libICE-1.0.1-64.xml libICE]||The inter-client exchange library.
+
|style="text-align: center; font-weight: bold"|libICE ||The inter-client exchange library.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|liblbxutil ||[http://cross-lfs.org/~arowland/installed_files/xml/liblbxutil-1.0.1-64.xml liblbxutil]||Contains header files and documentation for the XFIXES extension.
+
|style="text-align: center; font-weight: bold"|liblbxutil ||Contains header files and documentation for the XFIXES extension.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|liboldX ||[http://cross-lfs.org/~arowland/installed_files/xml/liboldX-1.0.1-64.xml liboldX]||Association table libraries.
+
|style="text-align: center; font-weight: bold"|liboldX ||Association table libraries.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libSM ||[http://cross-lfs.org/~arowland/installed_files/xml/libSM-1.0.1-64.xml libSM]||Provides the main interface to the X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.
+
|style="text-align: center; font-weight: bold"|libSM ||Provides the main interface to the X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXt ||[http://cross-lfs.org/~arowland/installed_files/xml/libXt-1.0.2-64.xml libXt]||Provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).
+
|style="text-align: center; font-weight: bold"|libXt ||Provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXmu ||[http://cross-lfs.org/~arowland/installed_files/xml/libXmu-1.0.1-64.xml libXmu]||Provides a set of miscellaneous utility convenience functions for X libraries to use.
+
|style="text-align: center; font-weight: bold"|libXmu ||Provides a set of miscellaneous utility convenience functions for X libraries to use.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXpm ||[http://cross-lfs.org/~arowland/installed_files/xml/libXpm-3.5.5-64.xml libXpm]||Provides support and common operation for the XPM pixmap format, which is commonly used in legacy X applications. XPM is an extension of the monochrome XBM bitmap specified in the X protocol.
+
|style="text-align: center; font-weight: bold"|libXpm ||Provides support and common operation for the XPM pixmap format, which is commonly used in legacy X applications. XPM is an extension of the monochrome XBM bitmap specified in the X protocol.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXp ||[http://cross-lfs.org/~arowland/installed_files/xml/libXp-1.0.0-64.xml libXp]||Provides public APIs to allow client applications to render to non-display devices, making use of the X Print Service.
+
|style="text-align: center; font-weight: bold"|libXp ||Provides public APIs to allow client applications to render to non-display devices, making use of the X Print Service.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXaw ||[http://cross-lfs.org/~arowland/installed_files/xml/libXaw-1.0.2-64.xml libXaw]||Provides the original version of Xaw, the Athena Widgets tookit, which is largely used by legacy X applications. Within the Xaw series, version 6 is itself considered deprecated; version 7 is in most common usage.  In general, use of a more modern toolkit such as GTK+ is recommended.
+
|style="text-align: center; font-weight: bold"|libXaw ||Provides the original version of Xaw, the Athena Widgets tookit, which is largely used by legacy X applications. Within the Xaw series, version 6 is itself considered deprecated; version 7 is in most common usage.  In general, use of a more modern toolkit such as GTK+ is recommended.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXfixes ||[http://cross-lfs.org/~arowland/installed_files/xml/libXfixes-4.0.1-64.xml libXfixes]||Provides an X Window System client interface to the 'XFIXES' extension to the X protocol.  It provides support for Region types, and some cursor functions.
+
|style="text-align: center; font-weight: bold"|libXfixes ||Provides an X Window System client interface to the 'XFIXES' extension to the X protocol.  It provides support for Region types, and some cursor functions.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXcomposite ||[http://cross-lfs.org/~arowland/installed_files/xml/libXcomposite-0.3-64.xml libXcomposite]||Provides an X Window System client interface to the Composite extension to the X protocol.  The Composite extension allows clients called compositing managers to control the final drawing of the screen. Rendering is done into an off-screen buffer.
+
|style="text-align: center; font-weight: bold"|libXcomposite ||Provides an X Window System client interface to the Composite extension to the X protocol.  The Composite extension allows clients called compositing managers to control the final drawing of the screen. Rendering is done into an off-screen buffer.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXrender ||[http://cross-lfs.org/~arowland/installed_files/xml/libXrender-0.9.1-64.xml libXrender]||The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. The Xrender library exposes this extension to X clients.  This package provides a static library and C header files.
+
|style="text-align: center; font-weight: bold"|libXrender ||The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. The Xrender library exposes this extension to X clients.  This package provides a static library and C header files.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXdamage ||[http://cross-lfs.org/~arowland/installed_files/xml/libXdamage-1.0.3-64.xml libXdamage]||Provides an X Window System client interface to the DAMAGE extension to the X protocol.  The Damage extension provides for notification of when on-screen regions have been 'damaged' (altered).
+
|style="text-align: center; font-weight: bold"|libXdamage ||Provides an X Window System client interface to the DAMAGE extension to the X protocol.  The Damage extension provides for notification of when on-screen regions have been 'damaged' (altered).
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXcursor ||[http://cross-lfs.org/~arowland/installed_files/xml/libXcursor-1.1.6-64.xml libXcursor]||The header files and a static version of the X cursor management library are provided by this package.
+
|style="text-align: center; font-weight: bold"|libXcursor ||The header files and a static version of the X cursor management library are provided by this package.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXevie ||[http://cross-lfs.org/~arowland/installed_files/xml/libXevie-1.0.1-64.xml libXevie]||Provides an X Window System client interface to the EvIE extension to the X protocol.  The EvIE (Event Interception Extension) allows for clients to be able to intercept all events coming through the server and then decide what to do with them, including being able to modify or discard events.
+
|style="text-align: center; font-weight: bold"|libXevie ||Provides an X Window System client interface to the EvIE extension to the X protocol.  The EvIE (Event Interception Extension) allows for clients to be able to intercept all events coming through the server and then decide what to do with them, including being able to modify or discard events.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXfont ||[http://cross-lfs.org/~arowland/installed_files/xml/libXfont-1.1.0-64.xml libXfont]||Libraries for different font types.
+
|style="text-align: center; font-weight: bold"|libXfont ||Libraries for different font types.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXfontcache ||[http://cross-lfs.org/~arowland/installed_files/xml/libXfontcache-1.0.2-64.xml libXfontcache]||
+
|style="text-align: center; font-weight: bold"|libXfontcache ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXft ||[http://cross-lfs.org/~arowland/installed_files/xml/libXft-2.1.10-64.xml libXft]||Provides a client-side font API for X applications, making the FreeType font rasterizer available to X clients. Fontconfig is used for font specification resolution. Where available, the RENDER extension handles glyph drawing; otherwise, the core X protocol is used.
+
|style="text-align: center; font-weight: bold"|libXft ||Provides a client-side font API for X applications, making the FreeType font rasterizer available to X clients. Fontconfig is used for font specification resolution. Where available, the RENDER extension handles glyph drawing; otherwise, the core X protocol is used.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXi ||[http://cross-lfs.org/~arowland/installed_files/xml/libXi-1.0.1-64.xml libXi]||Provides an X Window System client interface to the XINPUT extension to the X protocol.  The Input extension allows setup and configuration of multiple input devices, and will soon allow hotplugging of input devices; to be added and removed on the fly.
+
|style="text-align: center; font-weight: bold"|libXi ||Provides an X Window System client interface to the XINPUT extension to the X protocol.  The Input extension allows setup and configuration of multiple input devices, and will soon allow hotplugging of input devices; to be added and removed on the fly.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXinerama ||[http://cross-lfs.org/~arowland/installed_files/xml/libXinerama-1.0.1-64.xml libXinerama]||Provides an X Window System client interface to the XINERAMA extension to the X protocol.  The Xinerama (also known as panoramiX) extension allows for multiple screens attached to a single display to be treated as belonging together, and to give desktop applications a better idea of the monitor layout.  Required for dual monitor support.
+
|style="text-align: center; font-weight: bold"|libXinerama ||Provides an X Window System client interface to the XINERAMA extension to the X protocol.  The Xinerama (also known as panoramiX) extension allows for multiple screens attached to a single display to be treated as belonging together, and to give desktop applications a better idea of the monitor layout.  Required for dual monitor support.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libxkbfile ||[http://cross-lfs.org/~arowland/installed_files/xml/libxkbfile-1.0.3-64.xml libxkbfile]||Provides an interface to read and manipulate description files for XKB, the X11 keyboard configuration extension.
+
|style="text-align: center; font-weight: bold"|libxkbfile ||Provides an interface to read and manipulate description files for XKB, the X11 keyboard configuration extension.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libxkbui ||[http://cross-lfs.org/~arowland/installed_files/xml/libxkbui-1.0.2-64.xml libxkbui]||Provides an interface to easily present XKB layouts as graphical widgets.
+
|style="text-align: center; font-weight: bold"|libxkbui ||Provides an interface to easily present XKB layouts as graphical widgets.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXprintUtil ||[http://cross-lfs.org/~arowland/installed_files/xml/libXprintUtil-1.0.1-64.xml libXprintUtil]||Provides utility Xpu APIs allowing client applications to access and manipulate information about printer capabilities from an Xprint server.
+
|style="text-align: center; font-weight: bold"|libXprintUtil ||Provides utility Xpu APIs allowing client applications to access and manipulate information about printer capabilities from an Xprint server.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXprintAppUtil ||[http://cross-lfs.org/~arowland/installed_files/xml/libXprintAppUtil-1.0.1-64.xml libXprintAppUtil]||Provides utility Xpau APIs allowing client applications to access information about and control Xprint jobs from an Xprint server.
+
|style="text-align: center; font-weight: bold"|libXprintAppUtil ||Provides utility Xpau APIs allowing client applications to access information about and control Xprint jobs from an Xprint server.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXrandr ||[http://cross-lfs.org/~arowland/installed_files/xml/libXrandr-1.1.1-64.xml libXrandr]||Provides an X Window System client interface to the RandR extension to the X protocol.  The RandR extension allows for run-time configuration of display attributes such as resolution, rotation, and reflection.
+
|style="text-align: center; font-weight: bold"|libXrandr ||Provides an X Window System client interface to the RandR extension to the X protocol.  The RandR extension allows for run-time configuration of display attributes such as resolution, rotation, and reflection.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXres ||[http://cross-lfs.org/~arowland/installed_files/xml/libXres-1.0.1-64.xml libXres]||Provides an X Window System client interface to the Resource extension to the X protocol.  The Resource extension allows for X clients to see and monitor the X resource usage of various clients (pixmaps, et al).
+
|style="text-align: center; font-weight: bold"|libXres ||Provides an X Window System client interface to the Resource extension to the X protocol.  The Resource extension allows for X clients to see and monitor the X resource usage of various clients (pixmaps, et al).
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXScrnSaver ||[http://cross-lfs.org/~arowland/installed_files/xml/libXScrnSaver-1.1.0-64.xml libXScrnSaver]||
+
|style="text-align: center; font-weight: bold"|libXScrnSaver ||
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXTrap ||[http://cross-lfs.org/~arowland/installed_files/xml/libXTrap-1.0.0-64.xml libXTrap]||Provides an interface to the DEC-XTRAP extension, which allows for capture and synthesis of core input events.
+
|style="text-align: center; font-weight: bold"|libXTrap ||Provides an interface to the DEC-XTRAP extension, which allows for capture and synthesis of core input events.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXtst ||[http://cross-lfs.org/~arowland/installed_files/xml/libXtst-1.0.1-64.xml libXtst]||Provides an X Window System client interface to the Record extension to the X protocol.  The Record extension allows X clients to synthesise input events, which is useful for automated testing.
+
|style="text-align: center; font-weight: bold"|libXtst ||Provides an X Window System client interface to the Record extension to the X protocol.  The Record extension allows X clients to synthesise input events, which is useful for automated testing.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXv ||[http://cross-lfs.org/~arowland/installed_files/xml/libXv-1.0.1-64.xml libXv]||Provides an X Window System client interface to the XVideo extension to the X protocol.  The XVideo extension allows for accelerated drawing of videos. Hardware adaptors are exposed to clients, which may draw in a number of colourspaces, including YUV.
+
|style="text-align: center; font-weight: bold"|libXv ||Provides an X Window System client interface to the XVideo extension to the X protocol.  The XVideo extension allows for accelerated drawing of videos. Hardware adaptors are exposed to clients, which may draw in a number of colourspaces, including YUV.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXvMC ||[http://cross-lfs.org/~arowland/installed_files/xml/libXvMC-1.0.2-64.xml libXvMC]||Provides an X Window System client interface to the XVideo-MotionCompensation extension to the X protocol.  The XVideo-MotionCompensation extension allows for further accelerated drawing of videos. Video data may be sent at earlier stages of the decoding pipeline than raw YUV data.
+
|style="text-align: center; font-weight: bold"|libXvMC ||Provides an X Window System client interface to the XVideo-MotionCompensation extension to the X protocol.  The XVideo-MotionCompensation extension allows for further accelerated drawing of videos. Video data may be sent at earlier stages of the decoding pipeline than raw YUV data.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXxf86dga ||[http://cross-lfs.org/~arowland/installed_files/xml/libXxf86dga-1.0.1-64.xml libXxf86dga]||Provides the XFree86-DGA extension, which allows direct graphics access to a framebuffer-like region, and also allows relative mouse reporting, et al. It is mainly used by games and emulators for games.
+
|style="text-align: center; font-weight: bold"|libXxf86dga ||Provides the XFree86-DGA extension, which allows direct graphics access to a framebuffer-like region, and also allows relative mouse reporting, et al. It is mainly used by games and emulators for games.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXxf86misc ||[http://cross-lfs.org/~arowland/installed_files/xml/libXxf86misc-1.0.1-64.xml libXxf86misc]||Provides an interface to the XFree86-Misc extension, which allows client applications to query the current keyboard and mouse settings of the running XFree86-based (XFree86, Xorg) server.
+
|style="text-align: center; font-weight: bold"|libXxf86misc ||Provides an interface to the XFree86-Misc extension, which allows client applications to query the current keyboard and mouse settings of the running XFree86-based (XFree86, Xorg) server.
 
|-
 
|-
|style="text-align: center; font-weight: bold"|libXxf86vm ||[http://cross-lfs.org/~arowland/installed_files/xml/libXxf86vm-1.0.1-64.xml libXxf86vm]||Provides an interface to the XFree86-VidModeExtension extension, which allows client applications to get and set video mode timings in extensive detail. It is used by the xvidtune program in particular.
+
|style="text-align: center; font-weight: bold"|libXxf86vm ||Provides an interface to the XFree86-VidModeExtension extension, which allows client applications to get and set video mode timings in extensive detail. It is used by the xvidtune program in particular.
 
|}
 
|}

Latest revision as of 21:22, 29 August 2011

Download Source: http://xorg.freedesktop.org/releases/individual/lib/

Back to Utilities

Introduction to Xorg7/Libraries

There are 47 libraries. Similar to the protocols, using wget and appending a *.bz2 or *.gz to the base URL above is probably the most efficient way to get the tarballs on your system.

Alternately, if you chose to use subdirectories, the tarballs can be retrieved as follows. This will prevent multiple versions from being downloaded when multiple versions exist.

wget https://cblfs.clfs.org/Special:Filepath/Lib-20101205.wget &&
mkdir -p lib &&
cd lib &&
wget -B http://xorg.freedesktop.org/releases/individual/lib/ -i ../Lib-20101205.wget

Project Homepage: Unknown

Dependencies

The X.org libraries require their respective protocols to be installed first. Although not necessary, it is recommended that all of the protocol headers are installed before the libraries.

There are some dependency orders in the libraries. xtrans, Xau, Xdmcp must be installed before anything else. libXext must be installed before any other extension library. The wget file above lists the libraries in the proper build order. Additional, non-Xorg, dependencies are listed below for those libraries that require them..

Xorg Library Required Recommended Optional
libX11 XCB
libXaw ed
libXfont FreeType
libXft FreeType, FontConfig
libpciaccess PCI Utilities
pixman Gtk2

Configuration Information

Besides the 'standard' optional features, the following libraries have additional optional features that you may wish to enable or disable.

libXau --disable-xthreads disable libXau support for multithreading.
libX11 --enable-secure-rpc enable secure RPC.
--enable-loadable-i18n controls loadable i18n module support.
--disable-loadable-xcursor controls loadable xcursor library support.
--disable-xthreads disable Xlib support for multithreading.
--disable-xcms disable Xlib support for CMS (EXPERIMENTAL)
--disable-xlocale disable Xlib locale implementation (EXPERIMENTAL)
--enable-xlocaledir enable XLOCALEDIR environment variable support.
--disable-xf86bigfont disable XF86BigFont extension support.
--disable-xkb disable XKB support (EXPERIMENTAL)
libFS --enable-tcp-transport enable TCP socket transport.
--enable-IPv6 enable IPv6 support.
libICE --enable-tcp-transport enable TCP socket transport.
--enable-IPv6 enable IPv6 support.
libSM --enable-tcp-transport enable TCP socket transport.
--enable-IPv6 enable IPv6 support.
libXt --disable-xkb disable XKB support.
--disable-install-makestrs disable installing makestrs.
libXmu --enable-tcp-transport enable TCP socket transport.
--enable-IPv6 enable IPv6 support.
libXpm --enable-stat-zfile don't search for files with .Z & .gz extensions automatically.
libXaw --disable-xaw6 disable building of libXaw.so.6
--disable-xaw7 disable building of libXaw.so.7
--disable-xaw8 disable building of libXaw.so.8
libXcursor --with-icondir=<path> set default icon directory (default: ${datadir}/icons).
--with-cursorpath=<paths> set default search path for cursors.
libXfont --disable-freetype disable freetype support.
--enable-type1 enable type1 font support.
--disable-speedo disable speedo font support.
--disable-pcfformat
--disable-bdfformat disable pcf, bdf, or snf font format.
--disable-snfformat
--enable-tcp-transport enable TCP socket transport.
--enable-IPv6 enable IPv6 support.

Non-Multilib

Compile each library as follows:

./configure $XORG_CONFIG &&
make

Install each library as follows:

make install
Caution.png

Note

After installing all of the libraries run ldconfig.

Multilib

Caution.png

Note

On my system (AMD64) at least, xtrans installs it's pkg-config file to '$XORG_PREFX/share/pkg-config/' instead of '$XORG_PREFIX/lib{,64}/pkgconfig'. Moving the 'xtrans.pc' file to the correct location fixed some later errors.

32Bit

Compile the library.

PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
./configure $XORG_CONFIG32 &&
make

Install the library.

make install

For libXft

mv ${XORG_PREFIX}/bin/xft-config{,-32}

N32

Compile the library.

PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" \
./configure $XORG_CONFIGN32 &&
make

Install the library.

make install

For libXFt

mv ${XORG_PREFIX}/bin/xft-config{,-n32}

64Bit

Compile the library.

PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
./configure $XORG_CONFIG64 &&
make

Install the library.

make install

For libXFt

mv ${XORG_PREFIX}/bin/xft-config{,-64} &&
ln -sv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xft-config
Caution.png

Note

After installing all of the libraries run ldconfig.

Semi-Automated Build

These automated build instructions assume that you are using subdirectories as discussed in the introduction. You must also have an unaltered copy of Lib-20101205.wget in the main working directory (xc). This file lists each library in an order that ensures dependencies are satisfied.

Non Multilib

Install the Xorg libraries:

top=$PWD
cat ../Lib-20101205.wget | while read package; do
  packagedir=$(sed -e "s/\.tar\.bz2//" <<< $package)

  cd $top || break;

  grep ^$packagedir$ done && continue;

  tar xvf $package &&
  cd $packagedir &&

  ./configure $XORG_CONFIG &&
  make &&
  make install &&

  cd .. &&
  rm -rfv $packagedir &&

  echo "$packagedir" >> done || break
done
rm done
ldconfig

Multilib

Install the Xorg libraries:

top=$PWD
cat ../Lib-20101205.wget | while read package; do
  packagedir=$(sed -e "s/\.tar\.bz2//" <<< $package)

  cd $top || break;

  grep ^$packagedir$ done && continue;

  tar xvf $package &&
  cd $packagedir &&

  PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
  CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" \
  ./configure $XORG_CONFIG32 &&
  make &&
  make install || break

  if [ -f "${XORG_PREFIX}/bin/xft-config" ]; then
    mv "${XORG_PREFIX}/bin/xft-config"{,-32} || break
  fi

  cd .. &&
  rm -rfv $packagedir &&

  tar xfv $package &&
  cd $packagedir &&

  PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
  CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" \
  ./configure $XORG_CONFIG64 &&
  make &&
  make install || break

  if [ -f "${XORG_PREFIX}/bin/xft-config" ]; then
    mv "${XORG_PREFIX}/bin/xft-config"{,-64} || break
  fi

  cd .. &&
  rm -rfv $packagedir || break

  echo "$packagedir" >> done
done
ln -sv /usr/bin/multiarch_wrapper ${XORG_PREFIX}/bin/xft-config 
rm done
ldconfig

Next install libdrm

Contents

Each Xorg library installs one or more set of libraries (*.so,la,a) files. Rather than listing all of the files installed, a listing of the 47 library packages and a short description of each follows. The 47 library packages, listed in build order, with a short description are:

Xorg Library Short Description
xtrans Transport (protocol) table. Contains a definition for every transport (protocol) family. All operations that can be made on the transport go through this table.
libXau The main interface to the X11 authorization handling, which controls authorization for X connections, both client-side and server-side.
libXdmcp The main interface to the X11 display manager control protocol library, which allows for remote logins to display managers.
libX11 The main client interface to the X Window System and is otherwise known as 'Xlib'. It provides a complete API for the basic functions of the window system.
libXext Provides an X Window System client interface to several extensions to the X protocol. libXext also provides a small set of utility functions to aid authors of client APIs for X protocol extensions.
libAppleWM
libWindowsWM
libdmx The interface to the DMX extension for X, which allows a single server to be set up as a proxy spanning multiple servers -- not unlike Xinerama across discrete physical machines. It can be reconfigured on the fly to change the layout, and it is presented as a single logical display to clients. libdmx allows clients to configure the layout of DMX servers by adding and removing screens, input devices, et al.
libfontenc The font encodings library.
libFS Provides various functions useful to X11 font servers, and clients connecting to font servers. It is not used outside of these implementations.
libICE The inter-client exchange library.
liblbxutil Contains header files and documentation for the XFIXES extension.
liboldX Association table libraries.
libSM Provides the main interface to the X11 Session Management library, which allows for applications to both manage sessions, and make use of session managers to save and restore their state for later use.
libXt Provides the X Toolkit Intrinsics, an abstract widget library upon which other toolkits are based. Xt is the basis for many toolkits, including the Athena widgets (Xaw), and LessTif (a Motif implementation).
libXmu Provides a set of miscellaneous utility convenience functions for X libraries to use.
libXpm Provides support and common operation for the XPM pixmap format, which is commonly used in legacy X applications. XPM is an extension of the monochrome XBM bitmap specified in the X protocol.
libXp Provides public APIs to allow client applications to render to non-display devices, making use of the X Print Service.
libXaw Provides the original version of Xaw, the Athena Widgets tookit, which is largely used by legacy X applications. Within the Xaw series, version 6 is itself considered deprecated; version 7 is in most common usage. In general, use of a more modern toolkit such as GTK+ is recommended.
libXfixes Provides an X Window System client interface to the 'XFIXES' extension to the X protocol. It provides support for Region types, and some cursor functions.
libXcomposite Provides an X Window System client interface to the Composite extension to the X protocol. The Composite extension allows clients called compositing managers to control the final drawing of the screen. Rendering is done into an off-screen buffer.
libXrender The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tesselation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. The Xrender library exposes this extension to X clients. This package provides a static library and C header files.
libXdamage Provides an X Window System client interface to the DAMAGE extension to the X protocol. The Damage extension provides for notification of when on-screen regions have been 'damaged' (altered).
libXcursor The header files and a static version of the X cursor management library are provided by this package.
libXevie Provides an X Window System client interface to the EvIE extension to the X protocol. The EvIE (Event Interception Extension) allows for clients to be able to intercept all events coming through the server and then decide what to do with them, including being able to modify or discard events.
libXfont Libraries for different font types.
libXfontcache
libXft Provides a client-side font API for X applications, making the FreeType font rasterizer available to X clients. Fontconfig is used for font specification resolution. Where available, the RENDER extension handles glyph drawing; otherwise, the core X protocol is used.
libXi Provides an X Window System client interface to the XINPUT extension to the X protocol. The Input extension allows setup and configuration of multiple input devices, and will soon allow hotplugging of input devices; to be added and removed on the fly.
libXinerama Provides an X Window System client interface to the XINERAMA extension to the X protocol. The Xinerama (also known as panoramiX) extension allows for multiple screens attached to a single display to be treated as belonging together, and to give desktop applications a better idea of the monitor layout. Required for dual monitor support.
libxkbfile Provides an interface to read and manipulate description files for XKB, the X11 keyboard configuration extension.
libxkbui Provides an interface to easily present XKB layouts as graphical widgets.
libXprintUtil Provides utility Xpu APIs allowing client applications to access and manipulate information about printer capabilities from an Xprint server.
libXprintAppUtil Provides utility Xpau APIs allowing client applications to access information about and control Xprint jobs from an Xprint server.
libXrandr Provides an X Window System client interface to the RandR extension to the X protocol. The RandR extension allows for run-time configuration of display attributes such as resolution, rotation, and reflection.
libXres Provides an X Window System client interface to the Resource extension to the X protocol. The Resource extension allows for X clients to see and monitor the X resource usage of various clients (pixmaps, et al).
libXScrnSaver
libXTrap Provides an interface to the DEC-XTRAP extension, which allows for capture and synthesis of core input events.
libXtst Provides an X Window System client interface to the Record extension to the X protocol. The Record extension allows X clients to synthesise input events, which is useful for automated testing.
libXv Provides an X Window System client interface to the XVideo extension to the X protocol. The XVideo extension allows for accelerated drawing of videos. Hardware adaptors are exposed to clients, which may draw in a number of colourspaces, including YUV.
libXvMC Provides an X Window System client interface to the XVideo-MotionCompensation extension to the X protocol. The XVideo-MotionCompensation extension allows for further accelerated drawing of videos. Video data may be sent at earlier stages of the decoding pipeline than raw YUV data.
libXxf86dga Provides the XFree86-DGA extension, which allows direct graphics access to a framebuffer-like region, and also allows relative mouse reporting, et al. It is mainly used by games and emulators for games.
libXxf86misc Provides an interface to the XFree86-Misc extension, which allows client applications to query the current keyboard and mouse settings of the running XFree86-based (XFree86, Xorg) server.
libXxf86vm Provides an interface to the XFree86-VidModeExtension extension, which allows client applications to get and set video mode timings in extensive detail. It is used by the xvidtune program in particular.