source: x/installing/xorg7.xml@ 8874b6f

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 8874b6f was 57de35d, checked in by Pierre Labastie <pieere@…>, 10 years ago

typos

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

  • Property mode set to 100644
File size: 10.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
[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
[57de35d]117 <sect2 id="xorg-env" xreflabel="Xorg build environment">
[4ff4e9a]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 \
[bb7f58e]151 --localstatedir=/var --disable-static"</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
[b194f2b]157<screen><userinput role="root">cat &gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
[e123f715]158XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"
159XORG_CONFIG="--prefix=$XORG_PREFIX \
160 --sysconfdir=/etc \
[bb7f58e]161 --localstatedir=/var \
162 --disable-static"
[e123f715]163export XORG_PREFIX XORG_CONFIG
164EOF
165chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
166
[d78ed0cb]167 <para>If you've decided to use the standard <filename
168 class="directory">/usr</filename> prefix, you can omit the remainder of
169 this page. Otherwise, be sure to add <filename
170 class="directory">$XORG_PREFIX/bin</filename> to your <envar>PATH</envar>
171 environment variable, and <filename class="directory">
[b7556c5]172 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
[d78ed0cb]173 $XORG_PREFIX/share/pkgconfig</filename> to your
[8e29d97]174 <envar>PKG_CONFIG_PATH</envar> variable. It is also helpful to specify
175 additional search paths for <command>gcc</command> and an include directory
176 for the <command>aclocal</command> program. Issue the following commands
177 as the <systemitem class="username">root</systemitem> user:</para>
[e123f715]178
179<screen><userinput role="root">cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
180
[8e29d97]181pathappend $XORG_PREFIX/bin PATH
182pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
[e123f715]183pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
[d78ed0cb]184
[8e29d97]185pathappend $XORG_PREFIX/lib LIBRARY_PATH
186pathappend $XORG_PREFIX/include C_INCLUDE_PATH
187pathappend $XORG_PREFIX/include CPLUS_INCLUDE_PATH
188
[d78ed0cb]189ACLOCAL='aclocal -I $XORG_PREFIX/share/aclocal'
190
[8e29d97]191export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
[2d237fa]192EOF</userinput></screen>
[e123f715]193
194 <para>You should also add
195 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
196 <filename>/etc/ld.so.conf</filename> file. Again, as the
197 <systemitem class="username">root</systemitem> user, issue the following
198 command:</para>
199
[91b65df]200<screen><userinput role="root">echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf</userinput></screen>
[e123f715]201
202 <para>You should also modify
[fb03066]203 <filename>/etc/man_db.conf</filename>, adding appropriate
204 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
[e123f715]205 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
206 following command as the <systemitem class="username">root</systemitem>
207 user:</para>
208
[91b65df]209<screen><userinput role="root">sed "s@/usr/X11R6@<replaceable>$XORG_PREFIX</replaceable>@g" -i /etc/man_db.conf</userinput></screen>
[e123f715]210
[204fe99]211 <para>Some applications look for shared files in <filename
212 class="directory">/usr/share/X11</filename>. Create a symbolic link to the
213 proper location as the <systemitem class="username">root</systemitem>
214 user:</para>
215
216<screen><userinput role="root">ln -s $XORG_PREFIX/share/X11 /usr/share/X11</userinput></screen>
217
[e123f715]218 <para>Finally, if building on x86_64, you will need to create the
219 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
220 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
221 <systemitem class="username">root</systemitem> user, issue the following
222 commands:</para>
223
224<screen><userinput role="root">install -v -m755 -d $XORG_PREFIX &amp;&amp;
225install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
[0d7900a]226ln -s lib $XORG_PREFIX/lib64</userinput></screen>
227
[4ff4e9a]228 </sect2>
229
[190568b]230</sect1>
Note: See TracBrowser for help on using the repository browser.