source: x/installing/xorg7.xml@ 5287b7c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 5287b7c was 5287b7c, checked in by DJ Lucas <dj@…>, 12 years ago

Removed external Xorg wget and md5sums files, and included for-in-do loops.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10477 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 9.3 KB
RevLine 
[4ff4e9a]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[4ff4e9a]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
[5287b7c]8<sect1 id="xorg7" xreflabel="Xorg-&xorg-version;">
[4ff4e9a]9 <?dbhtml filename="xorg7.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
[5287b7c]16 <title>Introduction to Xorg-&xorg-version;</title>
[4ff4e9a]17
18 <indexterm zone="xorg7">
19 <primary sortas="a-xorg7">Xorg</primary>
20 </indexterm>
21
[38362ef]22
[3f72a148]23 <para><application>Xorg</application> is a freely redistributable,
24 open-source implementation of the <application>X</application> Window
25 System. This system provides a client/server interface between display
26 hardware (the mouse, keyboard, and video displays) and the desktop
27 environment, while also providing both the windowing infrastructure and a
28 standardized application interface (API).</para>
29
30 <para condition="html" role="usernotes">User Notes:
[ea9f7caf]31 <ulink url='&blfs-wiki;/Xorg7'/></para>
[3f72a148]32
33 <bridgehead renderas="sect3">Xorg Download and Installation
34 Instructions</bridgehead>
35
[335975f]36 <para>Xorg-7.0 introduced a completely auto-tooled, modular build system.
[3f72a148]37 With the new modular build system, it is no longer possible to download
[5287b7c]38 the entire package in a single file. In fact, there will be well over 100
39 packages that need to be fetched from the download location. To assist
[9f12e36]40 with such a large task, installing <xref linkend="wget"/> is strongly
[3f72a148]41 recommended for downloading the needed files. A complete
[5287b7c]42 <application>wget</application> file list is provided for each page
[3f72a148]43 that includes multiple packages.</para>
44
45 <para>Given the number of packages available, deciding which packages you
46 need to install for your particular setup may seem a bit overwhelming at
[9f12e36]47 first. Take a look at
[50631cf]48 <ulink url="http://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
49 and
[9f12e36]50 <ulink url="http://lists.x.org/archives/xorg-modular/2005-November/000801.html">this thread</ulink>
[50631cf]51 to get an idea of what you will need. If you are unsure, you should
[fb03066]52 install all packages at the cost of extra disk space.</para>
[3f72a148]53
54 <note>
55 <para>Even if you intend to download only the necessary packages, you
[9f12e36]56 should download the wget file lists. The list of files are ordered by
57 dependency, and the package versions listed in the files are known to
[048bc8cc]58 work well with each other. Further, the wget file lists contain comments
59 for specific packages that are deprecated or are not recommended to
60 install. Newer packages are likely intended for the
[7be99f2c]61 next release of <application>Xorg</application> and have already proved
62 to be incompatible with current versions of software installed in BLFS.
[9f12e36]63 The installed size of <application>Xorg</application> can be reduced
[7be99f2c]64 considerably by installing only the packages that you will need and use,
[9f12e36]65 however, the BLFS book cannot account for all dependencies and build
66 options for the individual <application>Xorg</application> packages.
[7be99f2c]67 The instructions assume that all packages have been built. A
[50631cf]68 <ulink url="&blfs-wiki;/Xorg7">wiki</ulink>
[9f12e36]69 page containing dependency information is under development. You are
70 encouraged to add to these pages if you discover additional information
71 that may be helpful to other users who selectively install individual
[3f72a148]72 packages.</para>
73 </note>
74
[e004bec]75 <para>Additionally, because of the large number of repetitive commands,
[5287b7c]76 you are encouraged to partially automate the build. Instructions have been
77 given that utilize the <xref linkend="sudo"/> package. It is recommended that
78 you use the <parameter>:NOPASSWD</parameter> configuration option for the
79 user that will be building the xorg packages.</para>
80
81 <!--
82 <para>The commands below
[1c96292]83 (or similar) can be entered at the command line to compile each
84 section (proto, util, lib, app, driver). The wiki links on each
85 section's page contain specific commands to compile the entire group of
[e004bec]86 packages, based on the content of the wget files.</para>
[3f72a148]87
88<screen>bash -e #exit on all errors
[1c96292]89section=<replaceable>&lt;proto&gt;</replaceable>
[5287b7c]90version=&xorg-version;
[d9a6d69]91mkdir $section
92cd $section
93
94# download and check packages
[e6148eeb]95grep -v '^#' ../${section}-${version}.wget | wget -i- -c \
[d9a6d69]96 -B http://xorg.freedesktop.org/releases/individual/${section}/
97md5sum -c ../${section}-${version}.md5
98
99# build packages
100for package in $(grep -v '^#' ../${section}-${version}.wget)
[4ff4e9a]101do
[3f72a148]102 packagedir=$(echo $package | sed 's/.tar.bz2//')
103 tar -xf $package
104 cd $packagedir
105 ./configure $XORG_CONFIG
106 make
[4ff4e9a]107 make install
[3f72a148]108 cd ..
[4ff4e9a]109 rm -rf $packagedir
[d9a6d69]110done 2&gt;&amp;1 | tee -a ../xorg-${section}-compile.log #log the entire loop</screen>
[4ff4e9a]111
[3f72a148]112 <para>The above shell will exit immediately on error. If it runs to
[96ffdca]113 completion, you should manually exit the shell before continuing on to
[3f72a148]114 the next set of instructions.</para>
[5287b7c]115-->
[4ff4e9a]116
117 <sect2>
118 <title>Setting up the Xorg Build Environment</title>
119
[3f72a148]120 <para>First, you'll need to create a working directory:</para>
[4ff4e9a]121
122<screen><userinput>mkdir xc &amp;&amp;
123cd xc</userinput></screen>
124
[190568b]125 <para>As with previous releases of the X Window System, it may be
126 desirable to install <application>Xorg</application> into an alternate
127 prefix. This is no longer common practice among Linux distributions.
[4ff4e9a]128 The common installation prefix for <application>Xorg</application> on
[190568b]129 Linux is <filename class="directory">/usr</filename>. There is no
130 standard alternate prefix, nor is there any exception in the current
131 revision of the Filesystem Hierarchy Standard for Release 7 of the X
132 Window System. Alan Coopersmith of Sun Microsystems, has recently
133 stated "At Sun, we were using
134 <filename class="directory">/usr/X11</filename> and plan to stick with
135 it." Only the <filename class="directory">/opt/*</filename> prefix or
136 the <filename class="directory">/usr</filename> prefix adhere to the
[8222555]137 current FHS guidelines.</para>
[190568b]138
139 <para>Choose your installation prefix, and set the
140 <envar>XORG_PREFIX</envar> variable with the following
[4ff4e9a]141 command:</para>
142
[3f72a148]143<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
[4ff4e9a]144
[da1b068]145 <para>Throughout these instructions, you will use the following
[190568b]146 <command>configure</command> switches for all of the packages. Create the
[da1b068]147 <envar>XORG_CONFIG</envar> variable to use for this parameter
148 substitution:</para>
[4ff4e9a]149
[7be99f2c]150<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
[9e2ac549]151 --mandir=$XORG_PREFIX/share/man --localstatedir=/var"</userinput></screen>
[4ff4e9a]152
[e123f715]153 <para>Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
154 file containing these variables as the
155 <systemitem class="username">root</systemitem> user:</para>
156
157<screen><userinput role="root">cat &gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF" &amp;&amp;
158XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"
159XORG_CONFIG="--prefix=$XORG_PREFIX \
160 --sysconfdir=/etc \
161 --mandir=$XORG_PREFIX/share/man \
162 --localstatedir=/var"
163export XORG_PREFIX XORG_CONFIG
164EOF
165chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
166
167 <para>If you've decided to use the standard
168 <filename class="directory">/usr</filename> prefix, you can omit the
169 remainder of this page. Otherwise, be sure to add
170 <filename class="directory">$XORG_PREFIX/bin</filename> to your
[b7556c5]171 <envar>PATH</envar> environment variable, and <filename class="directory">
172 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
173 $XORG_PREFIX/share/pkgconfig</filename>
[e123f715]174 to your <envar>PKG_CONFIG_PATH</envar> variable. Issue the following
175 commands as the <systemitem class="username">root</systemitem> user:</para>
176
177<screen><userinput role="root">cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
178
179pathappend $XORG_PREFIX/bin PATH
180pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
181pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
[2d237fa]182export PATH PKG_CONFIG_PATH
183EOF</userinput></screen>
[e123f715]184
185 <para>You should also add
186 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
187 <filename>/etc/ld.so.conf</filename> file. Again, as the
188 <systemitem class="username">root</systemitem> user, issue the following
189 command:</para>
190
191<screen><userinput role="root">echo "${XORG_PREFIX}/lib" >> /etc/ld.so.conf</userinput></screen>
192
193 <para>You should also modify
[fb03066]194 <filename>/etc/man_db.conf</filename>, adding appropriate
195 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
[e123f715]196 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
197 following command as the <systemitem class="username">root</systemitem>
198 user:</para>
199
200<screen><userinput role="root">sed 's@/usr/X11R6@<replaceable>&lt;PREFIX&gt;</replaceable>@g' -i /etc/man_db.conf</userinput></screen>
201
202 <para>Finally, if building on x86_64, you will need to create the
203 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
204 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
205 <systemitem class="username">root</systemitem> user, issue the following
206 commands:</para>
207
208<screen><userinput role="root">install -v -m755 -d $XORG_PREFIX &amp;&amp;
209install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
210ln -s lib $XORG_PREFIX/lib64</userinput></screen>
211
[4ff4e9a]212 </sect2>
213
[190568b]214</sect1>
Note: See TracBrowser for help on using the repository browser.