source: x/installing/xorg7.xml@ 52cc64d

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 52cc64d 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
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-&xorg-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-&xorg-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 will be well over 100
39 packages 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 page
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. 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
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
86 packages, based on the content of the wget files.</para>
87
88<screen>bash -e #exit on all errors
89section=<replaceable>&lt;proto&gt;</replaceable>
90version=&xorg-version;
91mkdir $section
92cd $section
93
94# download and check packages
95grep -v '^#' ../${section}-${version}.wget | wget -i- -c \
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)
101do
102 packagedir=$(echo $package | sed 's/.tar.bz2//')
103 tar -xf $package
104 cd $packagedir
105 ./configure $XORG_CONFIG
106 make
107 make install
108 cd ..
109 rm -rf $packagedir
110done 2&gt;&amp;1 | tee -a ../xorg-${section}-compile.log #log the entire loop</screen>
111
112 <para>The above shell will exit immediately on error. If it runs to
113 completion, you should manually exit the shell before continuing on to
114 the next set of instructions.</para>
115-->
116
117 <sect2>
118 <title>Setting up the Xorg Build Environment</title>
119
120 <para>First, you'll need to create a working directory:</para>
121
122<screen><userinput>mkdir xc &amp;&amp;
123cd xc</userinput></screen>
124
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.
128 The common installation prefix for <application>Xorg</application> on
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
137 current FHS guidelines.</para>
138
139 <para>Choose your installation prefix, and set the
140 <envar>XORG_PREFIX</envar> variable with the following
141 command:</para>
142
143<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
144
145 <para>Throughout these instructions, you will use the following
146 <command>configure</command> switches for all of the packages. Create the
147 <envar>XORG_CONFIG</envar> variable to use for this parameter
148 substitution:</para>
149
150<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
151 --mandir=$XORG_PREFIX/share/man --localstatedir=/var"</userinput></screen>
152
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
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>
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
182export PATH PKG_CONFIG_PATH
183EOF</userinput></screen>
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
194 <filename>/etc/man_db.conf</filename>, adding appropriate
195 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
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
212 </sect2>
213
214</sect1>
Note: See TracBrowser for help on using the repository browser.