source: x/installing/xorg7.xml@ bcd2922

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 bcd2922 was 2d237fa, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Add some mission EOF lines and tweak a couple of instructions

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

  • Property mode set to 100644
File size: 9.0 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
[e77976f]8<sect1 id="xorg7" xreflabel="Xorg-&xorg7-version;">
[4ff4e9a]9 <?dbhtml filename="xorg7.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
[7c472863]16 <title>Introduction to Xorg-&xorg7-release;</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
38 the entire package in a single file. In fact, there may be as many as
[7be99f2c]39 293 files 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
[9f12e36]42 <application>wget</application> file list is provided for each section
[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,
76 you are encouraged to partially automate the build. The commands below
[1c96292]77 (or similar) can be entered at the command line to compile each
78 section (proto, util, lib, app, driver). The wiki links on each
79 section's page contain specific commands to compile the entire group of
[e004bec]80 packages, based on the content of the wget files.</para>
[3f72a148]81
82<screen>bash -e #exit on all errors
[1c96292]83section=<replaceable>&lt;proto&gt;</replaceable>
84version=&xorg7-release;
[d9a6d69]85mkdir $section
86cd $section
87
88# download and check packages
[e6148eeb]89grep -v '^#' ../${section}-${version}.wget | wget -i- -c \
[d9a6d69]90 -B http://xorg.freedesktop.org/releases/individual/${section}/
91md5sum -c ../${section}-${version}.md5
92
93# build packages
94for package in $(grep -v '^#' ../${section}-${version}.wget)
[4ff4e9a]95do
[3f72a148]96 packagedir=$(echo $package | sed 's/.tar.bz2//')
97 tar -xf $package
98 cd $packagedir
99 ./configure $XORG_CONFIG
100 make
[4ff4e9a]101 make install
[3f72a148]102 cd ..
[4ff4e9a]103 rm -rf $packagedir
[d9a6d69]104done 2&gt;&amp;1 | tee -a ../xorg-${section}-compile.log #log the entire loop</screen>
[4ff4e9a]105
[3f72a148]106 <para>The above shell will exit immediately on error. If it runs to
[96ffdca]107 completion, you should manually exit the shell before continuing on to
[3f72a148]108 the next set of instructions.</para>
[4ff4e9a]109
110 <sect2>
111 <title>Setting up the Xorg Build Environment</title>
112
[3f72a148]113 <para>First, you'll need to create a working directory:</para>
[4ff4e9a]114
115<screen><userinput>mkdir xc &amp;&amp;
116cd xc</userinput></screen>
117
[190568b]118 <para>As with previous releases of the X Window System, it may be
119 desirable to install <application>Xorg</application> into an alternate
120 prefix. This is no longer common practice among Linux distributions.
[4ff4e9a]121 The common installation prefix for <application>Xorg</application> on
[190568b]122 Linux is <filename class="directory">/usr</filename>. There is no
123 standard alternate prefix, nor is there any exception in the current
124 revision of the Filesystem Hierarchy Standard for Release 7 of the X
125 Window System. Alan Coopersmith of Sun Microsystems, has recently
126 stated "At Sun, we were using
127 <filename class="directory">/usr/X11</filename> and plan to stick with
128 it." Only the <filename class="directory">/opt/*</filename> prefix or
129 the <filename class="directory">/usr</filename> prefix adhere to the
[8222555]130 current FHS guidelines.</para>
[190568b]131
132 <para>Choose your installation prefix, and set the
133 <envar>XORG_PREFIX</envar> variable with the following
[4ff4e9a]134 command:</para>
135
[3f72a148]136<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
[4ff4e9a]137
[da1b068]138 <para>Throughout these instructions, you will use the following
[190568b]139 <command>configure</command> switches for all of the packages. Create the
[da1b068]140 <envar>XORG_CONFIG</envar> variable to use for this parameter
141 substitution:</para>
[4ff4e9a]142
[7be99f2c]143<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
[9e2ac549]144 --mandir=$XORG_PREFIX/share/man --localstatedir=/var"</userinput></screen>
[4ff4e9a]145
[e123f715]146 <para>Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
147 file containing these variables as the
148 <systemitem class="username">root</systemitem> user:</para>
149
150<screen><userinput role="root">cat &gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF" &amp;&amp;
151XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"
152XORG_CONFIG="--prefix=$XORG_PREFIX \
153 --sysconfdir=/etc \
154 --mandir=$XORG_PREFIX/share/man \
155 --localstatedir=/var"
156export XORG_PREFIX XORG_CONFIG
157EOF
158chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
159
160 <para>If you've decided to use the standard
161 <filename class="directory">/usr</filename> prefix, you can omit the
162 remainder of this page. Otherwise, be sure to add
163 <filename class="directory">$XORG_PREFIX/bin</filename> to your
[b7556c5]164 <envar>PATH</envar> environment variable, and <filename class="directory">
165 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
166 $XORG_PREFIX/share/pkgconfig</filename>
[e123f715]167 to your <envar>PKG_CONFIG_PATH</envar> variable. Issue the following
168 commands as the <systemitem class="username">root</systemitem> user:</para>
169
170<screen><userinput role="root">cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
171
172pathappend $XORG_PREFIX/bin PATH
173pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
174pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
[2d237fa]175export PATH PKG_CONFIG_PATH
176EOF</userinput></screen>
[e123f715]177
178 <para>You should also add
179 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
180 <filename>/etc/ld.so.conf</filename> file. Again, as the
181 <systemitem class="username">root</systemitem> user, issue the following
182 command:</para>
183
184<screen><userinput role="root">echo "${XORG_PREFIX}/lib" >> /etc/ld.so.conf</userinput></screen>
185
186 <para>You should also modify
[fb03066]187 <filename>/etc/man_db.conf</filename>, adding appropriate
188 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
[e123f715]189 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
190 following command as the <systemitem class="username">root</systemitem>
191 user:</para>
192
193<screen><userinput role="root">sed 's@/usr/X11R6@<replaceable>&lt;PREFIX&gt;</replaceable>@g' -i /etc/man_db.conf</userinput></screen>
194
195 <para>Finally, if building on x86_64, you will need to create the
196 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
197 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
198 <systemitem class="username">root</systemitem> user, issue the following
199 commands:</para>
200
201<screen><userinput role="root">install -v -m755 -d $XORG_PREFIX &amp;&amp;
202install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
203ln -s lib $XORG_PREFIX/lib64</userinput></screen>
204
[4ff4e9a]205 </sect2>
206
[190568b]207</sect1>
Note: See TracBrowser for help on using the repository browser.