source: x/installing/xorg7.xml@ 87b2a53

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 87b2a53 was 87b2a53, checked in by Pierre Labastie <pieere@…>, 8 years ago

Misplaced role="root" in Xorg introduction, and other changes:

  • $XORG_PREFIX is not <replaceable>, /usr/X11R6 is.
  • Use the already set $XORG_PREFIX in /etc/profile.d/xorg.sh.

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

  • Property mode set to 100644
File size: 9.4 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 <sect2 id="xorg-env" xreflabel="Xorg build environment">
82 <title>Setting up the Xorg Build Environment</title>
83
84 <note><para>The following instructions assume that the shell
85 startup files have been set up as described in
86 <xref linkend="postlfs-config-profile" />.
87 </para></note>
88
89 <para>First, you'll need to create a working directory:</para>
90
91<screen><userinput>mkdir xc &amp;&amp;
92cd xc</userinput></screen>
93
94 <para>As with previous releases of the X Window System, it may be
95 desirable to install <application>Xorg</application> into an alternate
96 prefix. This is no longer common practice among Linux distributions.
97 The common installation prefix for <application>Xorg</application> on
98 Linux is <filename class="directory">/usr</filename>. There is no
99 standard alternate prefix, nor is there any exception in the current
100 revision of the Filesystem Hierarchy Standard for Release 7 of the X
101 Window System. Alan Coopersmith of Sun Microsystems, has recently
102 stated "At Sun, we were using
103 <filename class="directory">/usr/X11</filename> and plan to stick with
104 it." Only the <filename class="directory">/opt/*</filename> prefix or
105 the <filename class="directory">/usr</filename> prefix adhere to the
106 current FHS guidelines.</para>
107
108 <para>Choose your installation prefix, and set the
109 <envar>XORG_PREFIX</envar> variable with the following
110 command:</para>
111
112<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
113
114 <para>Throughout these instructions, you will use the following
115 <command>configure</command> switches for all of the packages. Create the
116 <envar>XORG_CONFIG</envar> variable to use for this parameter
117 substitution:</para>
118
119<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
120 --localstatedir=/var --disable-static"</userinput></screen>
121
122 <para>Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
123 file containing these variables as the
124 <systemitem class="username">root</systemitem> user:</para>
125
126<screen role="root"><userinput>cat &gt; /etc/profile.d/xorg.sh &lt;&lt; EOF
127XORG_PREFIX="$XORG_PREFIX"
128XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
129export XORG_PREFIX XORG_CONFIG
130EOF
131chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
132
133 <note><para>If you've decided to use the standard <filename
134 class="directory">/usr</filename> prefix, you can omit the remainder of
135 this page and continue at <xref linkend='util-macros'/>.</para></note>
136
137 <para>If you've decided to <emphasis>not</emphasis> use the standard
138 prefix, be sure to add <filename
139 class="directory">$XORG_PREFIX/bin</filename> to your <envar>PATH</envar>
140 environment variable, and <filename class="directory">
141 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
142 $XORG_PREFIX/share/pkgconfig</filename> to your
143 <envar>PKG_CONFIG_PATH</envar> variable. It is also helpful to specify
144 additional search paths for <command>gcc</command> and an include directory
145 for the <command>aclocal</command> program. Issue the following commands
146 as the <systemitem class="username">root</systemitem> user:</para>
147
148<screen role="root"><userinput>cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
149
150pathappend $XORG_PREFIX/bin PATH
151pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
152pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
153
154pathappend $XORG_PREFIX/lib LIBRARY_PATH
155pathappend $XORG_PREFIX/include C_INCLUDE_PATH
156pathappend $XORG_PREFIX/include CPLUS_INCLUDE_PATH
157
158ACLOCAL='aclocal -I $XORG_PREFIX/share/aclocal'
159
160export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
161EOF</userinput></screen>
162
163 <para>You should also add
164 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
165 <filename>/etc/ld.so.conf</filename> file. Again, as the
166 <systemitem class="username">root</systemitem> user, issue the following
167 command:</para>
168
169<screen role="root"><userinput>echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf</userinput></screen>
170
171 <para>You should also modify
172 <filename>/etc/man_db.conf</filename>, adding appropriate
173 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
174 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
175 following command as the <systemitem class="username">root</systemitem>
176 user:</para>
177
178<screen role="root"><userinput>sed "s@<replaceable>/usr/X11R6</replaceable>@$XORG_PREFIX@g" -i /etc/man_db.conf</userinput></screen>
179
180 <para>Some applications look for shared files in <filename
181 class="directory">/usr/share/X11</filename>. Create a symbolic link to the
182 proper location as the <systemitem class="username">root</systemitem>
183 user:</para>
184
185<screen role="root"><userinput>ln -sf $XORG_PREFIX/share/X11 /usr/share/X11</userinput></screen>
186
187 <para>If building KDE, some cmake files look for Xorg in places other than
188 $XORG_PREFIX. Allow cmake to find Xorg with:</para>
189
190<screen role="root"><userinput>ln -sf $XORG_PREFIX /usr/X11R6</userinput></screen>
191
192 <para>Finally, if building on x86_64, you will need to create the
193 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
194 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
195 <systemitem class="username">root</systemitem> user, issue the following
196 commands:</para>
197
198<screen role="root"><userinput>install -v -m755 -d $XORG_PREFIX &amp;&amp;
199install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
200ln -sf lib $XORG_PREFIX/lib64</userinput></screen>
201
202 </sect2>
203
204</sect1>
Note: See TracBrowser for help on using the repository browser.