source: x/installing/xorg7.xml@ 3defb8db

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 3defb8db was 3defb8db, checked in by Ken Moffat <ken@…>, 4 years ago

Xorg-7 : remove the instruction to use an xc directory.

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

  • Property mode set to 100644
File size: 10.8 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
[71df408]23 <para>
24 <application>Xorg</application> is a freely redistributable,
25 open-source implementation of the <application>X</application> Window
26 System. This system provides a client/server interface between display
27 hardware (the mouse, keyboard, and video displays) and the desktop
28 environment, while also providing both the windowing infrastructure and a
29 standardized application interface (API).
30 </para>
[3f72a148]31
32 <para condition="html" role="usernotes">User Notes:
[ea9f7caf]33 <ulink url='&blfs-wiki;/Xorg7'/></para>
[3f72a148]34
35 <bridgehead renderas="sect3">Xorg Download and Installation
36 Instructions</bridgehead>
37
[71df408]38 <para>
39 Xorg-7.0 introduced a completely auto-tooled, modular build system.
40 With the new modular build system, it is no longer possible to download
41 the entire package in a single file. In fact, there will be well over 100
42 packages that need to be fetched from the download location. To assist
43 with such a large task, installing <xref linkend="wget"/> is strongly
44 recommended for downloading the needed files. A complete
45 <application>wget</application> file list is provided for each page
46 that includes multiple packages.
47 </para>
48
49 <para>
50 Given the number of packages available, deciding which packages you
51 need to install for your particular setup may seem a bit overwhelming at
52 first. Take a look at <ulink url=
53 "http://wiki.x.org/wiki/ModuleDescriptions">this page</ulink>
54 and <ulink url=
55 "http://lists.x.org/archives/xorg-modular/2005-November/000801.html">
56 this thread</ulink>
57 to get an idea of what you will need. If you are unsure, you should
58 install all packages at the cost of extra disk space.
59 </para>
[3f72a148]60
61 <note>
[71df408]62 <para>
63 Even if you intend to download only the necessary packages, you
64 should download the wget file lists. The list of files are ordered by
65 dependency, and the package versions listed in the files are known to
66 work well with each other. Further, the wget file lists contain comments
67 for specific packages that are deprecated or are not recommended to
68 install. Newer packages are likely intended for the
69 next release of <application>Xorg</application> and have already proved
70 to be incompatible with current versions of software installed in BLFS.
71 The installed size of <application>Xorg</application> can be reduced
72 considerably by installing only the packages that you will need and use,
73 however, the BLFS book cannot account for all dependencies and build
74 options for the individual <application>Xorg</application> packages.
75 The instructions assume that all packages have been built. A
76 <ulink url="&blfs-wiki;/Xorg7">wiki</ulink>
77 page containing dependency information is under development. You are
78 encouraged to add to these pages if you discover additional information
79 that may be helpful to other users who selectively install individual
80 packages.
81 </para>
[3f72a148]82 </note>
83
[71df408]84 <para>
85 Additionally, because of the large number of repetitive commands,
86 you are encouraged to partially automate the build. Instructions have been
87 given that utilize the <xref linkend="sudo"/> package. It is recommended
88 that you use the <parameter>:NOPASSWD</parameter> configuration option
89 for the user that will be building the xorg packages.
90 </para>
[5287b7c]91
[57de35d]92 <sect2 id="xorg-env" xreflabel="Xorg build environment">
[4ff4e9a]93 <title>Setting up the Xorg Build Environment</title>
94
[71df408]95 <note>
96 <para>
97 The following instructions assume that the shell
98 startup files have been set up as described in
99 <xref linkend="postlfs-config-profile" />.
100 </para>
101 </note>
[dc53944]102
[71df408]103 <para>
104 As with previous releases of the X Window System, it may be
105 desirable to install <application>Xorg</application> into an alternate
106 prefix. This is no longer common practice among Linux distributions.
107 The common installation prefix for <application>Xorg</application> on
108 Linux is <filename class="directory">/usr</filename>. There is no
109 standard alternate prefix, nor is there any exception in the current
110 revision of the Filesystem Hierarchy Standard for Release 7 of the X
111 Window System. Alan Coopersmith of Sun Microsystems, once
112 stated "At Sun, we were using
113 <filename class="directory">/usr/X11</filename> and plan to stick with
114 it." Only the <filename class="directory">/opt/*</filename> prefix or
115 the <filename class="directory">/usr</filename> prefix adhere to the
116 current FHS guidelines.
117 </para>
118
119 <para>
120 Choose your installation prefix, and set the <envar>XORG_PREFIX</envar>
121 variable with the following command:
122 </para>
[4ff4e9a]123
[3f72a148]124<screen><userinput>export XORG_PREFIX="<replaceable>&lt;PREFIX&gt;</replaceable>"</userinput></screen>
[4ff4e9a]125
[71df408]126 <para>
127 Throughout these instructions, you will use the following
128 <command>configure</command> switches for all of the packages. Create the
129 <envar>XORG_CONFIG</envar> variable to use for this parameter
130 substitution:
131 </para>
[4ff4e9a]132
[7be99f2c]133<screen><userinput>export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \
[bb7f58e]134 --localstatedir=/var --disable-static"</userinput></screen>
[4ff4e9a]135
[71df408]136 <para>
137 Create an <filename>/etc/profile.d/xorg.sh</filename> configuration
138 file containing these variables as the
139 <systemitem class="username">root</systemitem> user:
140 </para>
[e123f715]141
[87b2a53]142<screen role="root"><userinput>cat &gt; /etc/profile.d/xorg.sh &lt;&lt; EOF
[51dfb3e]143<literal>XORG_PREFIX="$XORG_PREFIX"
[87b2a53]144XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --disable-static"
[51dfb3e]145export XORG_PREFIX XORG_CONFIG</literal>
[e123f715]146EOF
147chmod 644 /etc/profile.d/xorg.sh</userinput></screen>
148
[71df408]149 <note>
150 <para>
151 There is some confustion about the above 'here' document.
152 The backslash in front of the dollar sign is correct. Bash
153 will remove it when creating /etc/profile.d/xorg.sh. However, if
154 you are creating the file with an editor, a copy and paste operation
155 will not remove the baskslash. It must then be removed manually.
156 </para>
157 </note>
[a1b111f8]158
[5ce789c]159 <para>
160 If you've installed <xref linkend="sudo"/>, ensure that
161 <envar>XORG_PREFIX</envar> and <envar>XORG_CONFIG</envar> are available
162 in the <application>sudo</application> environment. As the
163 <systemitem class="username">root</systemitem> user, run the following
164 command:
165 </para>
166
167<screen role="root"><userinput>cat &gt; /etc/sudoers.d/xorg &lt;&lt; EOF
168<literal>Defaults env_keep += XORG_PREFIX
169Defaults env_keep += XORG_CONFIG</literal>
170EOF</userinput></screen>
171
[71df408]172 <note>
173 <para>
174 If you've decided to use the standard <filename
175 class="directory">/usr</filename> prefix, you can omit the remainder of
176 this page and continue at <xref linkend='util-macros'/>.
177 </para>
178 </note>
179
180 <para>
181 If you've decided to <emphasis>not</emphasis> use the standard
182 prefix, be sure to add <filename
183 class="directory">$XORG_PREFIX/bin</filename> to your <envar>PATH</envar>
184 environment variable, and <filename class="directory">
185 $XORG_PREFIX/lib/pkgconfig</filename> and <filename class="directory">
186 $XORG_PREFIX/share/pkgconfig</filename> to your
187 <envar>PKG_CONFIG_PATH</envar> variable. It is also helpful to specify
188 additional search paths for <command>gcc</command> and an include
189 directory for the <command>aclocal</command> program. Issue the
190 following commands as the <systemitem class="username">root</systemitem>
191 user:
192 </para>
[e123f715]193
[87b2a53]194<screen role="root"><userinput>cat &gt;&gt; /etc/profile.d/xorg.sh &lt;&lt; "EOF"
[51dfb3e]195<literal>
[8e29d97]196pathappend $XORG_PREFIX/bin PATH
197pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH
[e123f715]198pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH
[d78ed0cb]199
[8e29d97]200pathappend $XORG_PREFIX/lib LIBRARY_PATH
201pathappend $XORG_PREFIX/include C_INCLUDE_PATH
202pathappend $XORG_PREFIX/include CPLUS_INCLUDE_PATH
203
[87ff6f30]204ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal"
[d78ed0cb]205
[51dfb3e]206export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH</literal>
[2d237fa]207EOF</userinput></screen>
[e123f715]208
[71df408]209 <para>
210 The script above needs to be activated. Normally it will be
211 automatic at login, but to activate it now, as a regular user, run:
212 </para>
[d60c5feb]213
214<screen><userinput>source /etc/profile.d/xorg.sh</userinput></screen>
215
[71df408]216 <para>
217 You should also add
218 <filename class="directory"> $XORG_PREFIX/lib</filename> to the
219 <filename>/etc/ld.so.conf</filename> file. Again, as the
220 <systemitem class="username">root</systemitem> user, issue the following
221 command:
222 </para>
[e123f715]223
[87b2a53]224<screen role="root"><userinput>echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf</userinput></screen>
[e123f715]225
[71df408]226 <para>
227 You should also modify
228 <filename>/etc/man_db.conf</filename>, adding appropriate
229 MANDATORY_MANPATH, MANPATH_MAP, and MANDB_MAP entries following the
230 examples for <filename class="directory">/usr/X11R6</filename>. Issue the
231 following command as the <systemitem class="username">root</systemitem>
232 user:
233 </para>
[e123f715]234
[87b2a53]235<screen role="root"><userinput>sed "s@<replaceable>/usr/X11R6</replaceable>@$XORG_PREFIX@g" -i /etc/man_db.conf</userinput></screen>
[e123f715]236
[71df408]237 <para>
238 Some applications look for shared files in <filename
239 class="directory">/usr/share/X11</filename>. Create a symbolic link to
240 the proper location as the <systemitem class="username">root</systemitem>
241 user:
242 </para>
[204fe99]243
[ba4e992]244<screen role="root"><userinput>ln -svf $XORG_PREFIX/share/X11 /usr/share/X11</userinput></screen>
[aed3e6ec]245
[71df408]246 <para>
247 If building KDE, some cmake files look for Xorg in places other than
248 $XORG_PREFIX. Allow cmake to find Xorg with:
249 </para>
[aed3e6ec]250
[ba4e992]251<screen role="root"><userinput>ln -svf $XORG_PREFIX /usr/X11R6</userinput></screen>
[87ff6f30]252<!--
[71df408]253 <para>
254 Finally, if building on x86_64, you will need to create the
255 <filename class="directory">$XORG_PREFIX/lib</filename> directory and the
256 <filename>$XORG_PREFIX/lib64</filename> symlink. Again, as the
257 <systemitem class="username">root</systemitem> user, issue the following
258 commands:
259 </para>
[e123f715]260
[87b2a53]261<screen role="root"><userinput>install -v -m755 -d $XORG_PREFIX &amp;&amp;
[e123f715]262install -v -m755 -d $XORG_PREFIX/lib &amp;&amp;
[aed3e6ec]263ln -sf lib $XORG_PREFIX/lib64</userinput></screen>
[87ff6f30]264-->
[4ff4e9a]265 </sect2>
266
[190568b]267</sect1>
Note: See TracBrowser for help on using the repository browser.