source: x/installing/xorg7.xml@ 8020e8b

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 8020e8b was e123f715, checked in by DJ Lucas <dj@…>, 13 years ago

Added specific instructions for Xorg environmentsetup if using an alternate installation prefix.

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

  • Property mode set to 100644
File size: 9.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="xorg7" xreflabel="Xorg-&xorg7-version;">
9 <?dbhtml filename="xorg7.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
16 <title>Introduction to Xorg-&xorg7-version;</title>
17
18 <indexterm zone="xorg7">
19 <primary sortas="a-xorg7">Xorg</primary>
20 </indexterm>
21
22
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:
31 <ulink url='&blfs-wiki;/Xorg7'/></para>
32
33 <bridgehead renderas="sect3">Xorg Download and Installation
34 Instructions</bridgehead>
35
36 <para>Xorg-7.0 introduced a completely auto-tooled, modular build system.
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
39 293 files that need to be fetched from the download location. To assist
40 with such a large task, installing <xref linkend="wget"/> is strongly
41 recommended for downloading the needed files. A complete
42 <application>wget</application> file list is provided for each section
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
47 first. Take a look at
48 <ulink url="http://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
49 and
50 <ulink url="http://lists.x.org/archives/xorg-modular/2005-November/000801.html">this thread</ulink>
51 to get an idea of what you will need. If you are unsure, you should
52 install all packages at the cost of extra disk space.</para>
53
54 <note>
55 <para>Even if you intend to download only the necessary packages, you
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
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
61 next release of <application>Xorg</application> and have already proved
62 to be incompatible with current versions of software installed in BLFS.
63 The installed size of <application>Xorg</application> can be reduced
64 considerably by installing only the packages that you will need and use,
65 however, the BLFS book cannot account for all dependencies and build
66 options for the individual <application>Xorg</application> packages.
67 The instructions assume that all packages have been built. A
68 <ulink url="&blfs-wiki;/Xorg7">wiki</ulink>
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
72 packages.</para>
73 </note>
74
75 <para>Additionally, because of the large number of repetitive commands,
76 you are encouraged to partially automate the build. The commands below
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
80 packages, based on the content of the wget files.</para>
81
82<screen>bash -e #exit on all errors
83section=<replaceable>&lt;proto&gt;</replaceable>
84version=&xorg7-release;
85mkdir $section
86cd $section
87
88# download and check packages
89grep -v '^#' ../${section}-${version}.wget | wget -i- -c \
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)
95do
96 packagedir=$(echo $package | sed 's/.tar.bz2//')
97 tar -xf $package
98 cd $packagedir
99 ./configure $XORG_CONFIG
100 make
101 make install
102 cd ..
103 rm -rf $packagedir
104done 2&gt;&amp;1 | tee -a ../xorg-${section}-compile.log #log the entire loop</screen>
105
106 <para>The above shell will exit immediately on error. If it runs to
107 completion, you should manually exit the shell before continuing on to
108 the next set of instructions.</para>
109
110 <sect2>
111 <title>Setting up the Xorg Build Environment</title>
112
113 <para>First, you'll need to create a working directory:</para>
114
115<screen><userinput>mkdir xc &amp;&amp;
116cd xc</userinput></screen>
117
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.
121 The common installation prefix for <application>Xorg</application> on
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
130 current FHS guidelines.</para>
131
132 <para>Choose your installation prefix, and set the
133 <envar>XORG_PREFIX</envar> variable with the following
134 command:</para>
135
136<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
137
138 <para>Throughout these instructions, you will use the following
139 <command>configure</command> switches for all of the packages. Create the
140 <envar>XORG_CONFIG</envar> variable to use for this parameter
141 substitution:</para>
142
143<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
144 --mandir=$XORG_PREFIX/share/man --localstatedir=/var"</userinput></screen>
145
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
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>
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
175export PATH PKG_CONFIG_PATH</userinput></screen>
176
177 <para>You should also add
178 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
179 <filename>/etc/ld.so.conf</filename> file. Again, as the
180 <systemitem class="username">root</systemitem> user, issue the following
181 command:</para>
182
183<screen><userinput role="root">echo "${XORG_PREFIX}/lib" >> /etc/ld.so.conf</userinput></screen>
184
185 <para>You should also modify
186 <filename>/etc/man_db.conf</filename>, adding appropriate
187 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
188 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
189 following command as the <systemitem class="username">root</systemitem>
190 user:</para>
191
192<screen><userinput role="root">sed 's@/usr/X11R6@<replaceable>&lt;PREFIX&gt;</replaceable>@g' -i /etc/man_db.conf</userinput></screen>
193
194 <para>Finally, if building on x86_64, you will need to create the
195 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
196 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
197 <systemitem class="username">root</systemitem> user, issue the following
198 commands:</para>
199
200<screen><userinput role="root">install -v -m755 -d $XORG_PREFIX &amp;&amp;
201install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
202ln -s lib $XORG_PREFIX/lib64</userinput></screen>
203
204 </sect2>
205
206</sect1>
Note: See TracBrowser for help on using the repository browser.