- Timestamp:
- 03/31/2021 10:41:39 AM (3 years ago)
- Branches:
- ml-11.0, multilib
- Children:
- 7610848
- Parents:
- 811b5a39
- git-author:
- Thomas Trepl <thomas@…> (06/29/2020 07:55:01 AM)
- git-committer:
- Xℹ Ruoyao <xry111@…> (03/31/2021 10:41:39 AM)
- Location:
- chapter07
- Files:
-
- 5 added
- 2 edited
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
chapter07/bison.xml
r811b5a39 r6dfcfecc 26 26 27 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 28 href="../chapter0 6/bison.xml"28 href="../chapter08/bison.xml" 29 29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 30 30 … … 34 34 35 35 <seglistitem> 36 <seg>&bison- ch5-sbu;</seg>37 <seg>&bison- ch5-du;</seg>36 <seg>&bison-tmp-sbu;</seg> 37 <seg>&bison-tmp-du;</seg> 38 38 </seglistitem> 39 39 </segmentedlist> … … 46 46 <para>Prepare Bison for compilation:</para> 47 47 48 <screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen> 48 <screen><userinput remap="configure">./configure --prefix=/usr \ 49 --docdir=/usr/share/doc/bison-&bison-version;</userinput></screen> 50 51 <variablelist> 52 <title>The meaning of the new configure option:</title> 53 54 <varlistentry> 55 <term><parameter>--docdir=/usr/share/doc/bison-&bison-version;</parameter></term> 56 <listitem> 57 <para>This tells the build system to install bison documentation 58 into a versioned directory.</para> 59 </listitem> 60 </varlistentry> 61 62 </variablelist> 49 63 50 64 <para>Compile the package:</para> 51 65 52 66 <screen><userinput remap="make">make</userinput></screen> 53 54 <para>To test the results, issue:</para>55 56 <screen><userinput remap="test">make check</userinput></screen>57 67 58 68 <para>Install the package:</para> -
chapter07/chapter07.xml
r811b5a39 r6dfcfecc 6 6 ]> 7 7 8 <chapter id="chapter-c onfig" xreflabel="Chapter 7">8 <chapter id="chapter-chroot-temporary-tools" xreflabel="Chapter 7"> 9 9 <?dbhtml dir="chapter07"?> 10 10 <?dbhtml filename="chapter07.html"?> 11 11 12 <title> System Configuration</title>12 <title>Entering Chroot and Building Additional Temporary Tools</title> 13 13 14 <!-- sysv -->15 14 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bootscripts.xml"/> 15 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="changingowner.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kernfs.xml"/> 17 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="chroot.xml"/> 18 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="creatingdirs.xml"/> 19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="createfiles.xml"/> 20 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libstdc++-pass2.xml"/> 21 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bison.xml"/> 22 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/> 23 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="perl.xml"/> 24 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/> 25 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/> 26 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/> 27 28 <!-- 29 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/> 30 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/> 31 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/> 32 --> 17 33 18 <!-- systemd --> 19 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introductiond.xml"/> 20 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="networkd.xml"/> 21 22 <!-- common --> 23 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/> 24 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/> 25 26 <!-- sysv --> 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/> 28 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/> 29 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/> 30 31 <!-- systemd --> 32 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/> 33 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/> 34 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/> 35 36 <!-- common --> 37 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/> 38 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/> 39 40 <!-- systemd --> 41 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="systemd-custom.xml"/> 34 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="stripping.xml"/> 42 35 43 36 </chapter> -
chapter07/chroot.xml
r811b5a39 r6dfcfecc 6 6 ]> 7 7 8 <sect1 id="ch- system-chroot">8 <sect1 id="ch-tools-chroot"> 9 9 <?dbhtml filename="chroot.html"?> 10 10 11 11 <title>Entering the Chroot Environment</title> 12 12 13 <para>It is time to enter the chroot environment to begin building and 14 installing the final LFS system. As user <systemitem 13 <para>Now that all the packages which are required to build the rest of the 14 needed tools are on the system, it is time to enter the chroot environment to 15 finish installing the remaining temporary tools. This environment will be in 16 use also for installing the final system. As user <systemitem 15 17 class="username">root</systemitem>, run the following command to enter the 16 realm that is, at the moment, populated with only the temporary tools:</para> 18 environment that is, at the moment, populated with only the temporary 19 tools:</para> 17 20 18 <screen role="nodump"><userinput>chroot "$LFS" / tools/bin/env -i\21 <screen role="nodump"><userinput>chroot "$LFS" /usr/bin/env -i \ 19 22 HOME=/root \ 20 23 TERM="$TERM" \ 21 24 PS1='(lfs chroot) \u:\w\$ ' \ 22 PATH=/bin:/usr/bin:/sbin:/usr/sbin :/tools/bin\23 / tools/bin/bash --login +h</userinput></screen>25 PATH=/bin:/usr/bin:/sbin:/usr/sbin \ 26 /bin/bash --login +h</userinput></screen> 24 27 25 28 <para>The <parameter>-i</parameter> option given to the <command>env</command> … … 30 33 variable inside chroot to the same value as outside chroot. This variable is 31 34 needed for programs like <command>vim</command> and <command>less</command> 32 to operate properly. If other variables are needed, such as35 to operate properly. If other variables are desired, such as 33 36 <envar>CFLAGS</envar> or <envar>CXXFLAGS</envar>, this is a good place to set 34 37 them again.</para> 35 38 36 39 <para>From this point on, there is no need to use the 37 <envar>LFS</envar> variable anymore ,because all work will be restricted40 <envar>LFS</envar> variable anymore because all work will be restricted 38 41 to the LFS file system. This is because the Bash shell is told that 39 42 <filename class="directory">$LFS</filename> is now the root 40 43 (<filename class="directory">/</filename>) directory.</para> 41 44 42 <para>Notice that <filename class="directory">/tools/bin</filename> comes last43 in the <envar>PATH</envar>. This means that a temporary toolwill no longer be44 used once its final version is installed. This occurs when the shell does not45 <para>Notice that <filename class="directory">/tools/bin</filename> is not 46 in the <envar>PATH</envar>. This means that the cross toolchain will no longer be 47 used in the chroot environment. This occurs when the shell does not 45 48 <quote>remember</quote> the locations of executed binaries—for this 46 49 reason, hashing is switched off by passing the <parameter>+h</parameter> option … … 56 59 environment. If you leave this environment for any reason (rebooting for 57 60 example), ensure that the virtual kernel filesystems are mounted as 58 explained in <xref linkend="ch- system-bindmount"/> and <xref59 linkend="ch- system-kernfsmount"/> and enter chroot again before continuing61 explained in <xref linkend="ch-tools-bindmount"/> and <xref 62 linkend="ch-tools-kernfsmount"/> and enter chroot again before continuing 60 63 with the installation.</para> 61 64 </note> -
chapter07/creatingdirs.xml
r811b5a39 r6dfcfecc 6 6 ]> 7 7 8 <sect1 id="ch- system-creatingdirs">8 <sect1 id="ch-tools-creatingdirs"> 9 9 <?dbhtml filename="creatingdirs.html"?> 10 10 11 11 <title>Creating Directories</title> 12 12 13 <para>It is time to create some structure in the LFS file system. Create a14 standard directory tree by issuing the following commands:</para>13 <para>It is time to create the full structure in the LFS file system. Create 14 a standard directory tree by issuing the following commands:</para> 15 15 16 16 <screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt} 17 mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} 18 install -dv -m 0750 /root 19 install -dv -m 1777 /tmp /var/tmp 17 mkdir -pv /{media/{floppy,cdrom},srv,var} 20 18 mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} 21 19 mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man} 22 mkdir -v /usr/{,local/}share/{misc,terminfo,zoneinfo} 23 mkdir -v /usr/libexec 20 mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo} 24 21 mkdir -pv /usr/{,local/}share/man/man{1..8} 25 mkdir -v /usr/lib/pkgconfig 26 27 case $(uname -m) in 28 x86_64) mkdir -v /lib64 ;; 29 esac 22 install -dv -m 1777 /tmp /var/tmp 23 install -dv -m 0750 /root 30 24 31 25 mkdir -v /var/{log,mail,spool} … … 33 27 ln -sv /run/lock /var/lock 34 28 mkdir -pv /var/{opt,cache,lib/{color,misc,locate},local}</userinput></screen> 35 <screen arch="ml_32,mlx32,ml_all"><userinput arch="ml_32,ml_all">mkdir -pv /usr/lib32 36 install -vdm755 /usr/lib32/pkgconfig</userinput> 37 <userinput arch="ml_x32,ml_all">mkdir -pv /usr/libx32 38 install -vdm755 /usr/libx32/pkgconfig</userinput></screen> 29 30 <para arch="ml_32,ml_x32,ml_all">Required directories for multilib 31 support has already been created while previous installation steps.</para> 39 32 40 33 <para>Directories are, by default, created with permission mode 755, but -
chapter07/gettext.xml
r811b5a39 r6dfcfecc 26 26 27 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 28 href="../chapter0 6/gettext.xml"28 href="../chapter08/gettext.xml" 29 29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 30 30 … … 34 34 35 35 <seglistitem> 36 <seg>&gettext- ch5-sbu;</seg>37 <seg>&gettext- ch5-du;</seg>36 <seg>&gettext-tmp-sbu;</seg> 37 <seg>&gettext-tmp-du;</seg> 38 38 </seglistitem> 39 39 </segmentedlist> … … 53 53 <variablelist> 54 54 <title>The meaning of the configure option:</title> 55 <!-- 56 <varlistentry> 57 <term><parameter>EMACS="no"</parameter></term> 58 <listitem> 59 <para>This prevents the configure script from determining where to 60 install Emacs Lisp files as the test is known to hang on some hosts. 61 </para> 62 </listitem> 63 </varlistentry> 64 --> 55 65 56 <varlistentry> 66 57 <term><parameter>--disable-shared</parameter></term> … … 77 68 <screen><userinput remap="make">make</userinput></screen> 78 69 79 <para> 80 Due to the limited environment, running the test suite at this stage 81 is not recommended.</para> 82 83 <para>Install the <command>msgfmt</command>, <command>msgmerge</command> and 70 <para>Install the <command>msgfmt</command>, <command>msgmerge</command>, and 84 71 <command>xgettext</command> programs:</para> 85 72 86 <screen><userinput remap="install">cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} / tools/bin</userinput></screen>73 <screen><userinput remap="install">cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin</userinput></screen> 87 74 88 75 </sect2> … … 91 78 <title/> 92 79 93 <para>Details on this package are located in 94 <xref linkend="contents-gettext" role="."/></para> 80 <para>Details on this package are located in <xref linkend="contents-gettext" role="."/></para> 95 81 96 82 </sect2> -
chapter07/introduction.xml
r811b5a39 r6dfcfecc 6 6 ]> 7 7 8 <sect1 id="ch- config-introduction" revision="sysv">8 <sect1 id="ch-tools-introduction-chroot"> 9 9 <?dbhtml filename="introduction.html"?> 10 10 11 11 <title>Introduction</title> 12 12 13 <para>Booting a Linux system involves several tasks. The process must 14 mount both virtual and real file systems, initialize devices, activate swap, 15 check file systems for integrity, mount any swap partitions or files, set 16 the system clock, bring up networking, start any daemons required by the 17 system, and accomplish any other custom tasks needed by the user. This 18 process must be organized to ensure the tasks are performed in the correct 19 order but, at the same time, be executed as fast as possible.</para> 13 <para>This chapter shows how to build the last missing bits of the temporary 14 system: first, the tools needed by the build machinery of various packages, 15 then three packages needed to run tests. Now that all circular dependencies 16 have been resolved, we can use a <quote>chroot</quote> environment, 17 completely isolated the host operating system used for the build, except 18 for the running kernel.</para> 20 19 21 <!-- <para>In the packages that were installed in Chapter 6, there were two 22 different boot systems installed. LFS provides the ability to easily23 select which system the user wants to use and to compare and contrast the24 two systems by actually running each system on the local computer. The25 advantages and disadvantages of these systems is presented below.</para>-->20 <para>For proper operation of the isolated environment, some communication 21 with the running kernel must be established. This is done through the 22 so-called <emphasis>Virtual Kernel File Systems</emphasis>, which must be 23 mounted when entering the chroot environment. You may want to check 24 that they are mounted by issuing <command>findmnt</command>.</para> 26 25 27 <sect2 id='sysv-desc'> 28 <title>System V</title> 26 <para>Until <xref linkend="ch-tools-chroot"/>, the commands must be 27 run as <systemitem class="username">root</systemitem>, with the 28 <envar>LFS</envar> variable set. After entering chroot, all commands 29 are run as root, fortunately without access to the OS of the computer 30 you built LFS on. Be careful anyway, as it is easy to destroy the whole 31 LFS system with badly formed commands.</para> 29 32 30 <para>System V is the classic boot process that has been used in Unix and31 Unix-like systems such as Linux since about 1983. It consists of a small32 program, <command>init</command>, that sets up basic programs such as33 <command>login</command> (via getty) and runs a script. This script,34 usually named <command>rc</command>, controls the execution of a set of35 additional scripts that perform the tasks required to initialize the36 system.</para>37 38 <para>The <command>init</command> program is controlled by the39 <filename>/etc/inittab</filename> file and is organized into run levels that40 can be run by the user:</para>41 42 <literallayout>43 0 — halt44 1 — Single user mode45 2 — Multiuser, without networking46 3 — Full multiuser mode47 4 — User definable48 5 — Full multiuser mode with display manager49 6 — reboot50 </literallayout>51 52 <para>The usual default run level is 3 or 5.</para>53 54 <bridgehead renderas="sect3">Advantages</bridgehead>55 56 <itemizedlist>57 <listitem>58 <para>Established, well understood system.</para>59 </listitem>60 61 <listitem>62 <para>Easy to customize.</para>63 </listitem>64 65 </itemizedlist>66 67 68 <bridgehead renderas="sect3">Disadvantages</bridgehead>69 70 <itemizedlist>71 <listitem>72 <para>Slower to boot. A medium speed base LFS system73 takes 8-12 seconds where the boot time is measured from the74 first kernel message to the login prompt. Network75 connectivity is typically established about 2 seconds76 after the login prompt.</para>77 </listitem>78 79 <listitem>80 <para>Serial processing of boot tasks. This is related to the previous81 point. A delay in any process such as a file system check, will82 delay the entire boot process.</para>83 </listitem>84 85 <listitem>86 <para>Does not directly support advanced features like87 control groups (cgroups), and per-user fair share scheduling.</para>88 </listitem>89 90 <listitem>91 <para>Adding scripts requires manual, static sequencing decisions.</para>92 </listitem>93 94 </itemizedlist>95 96 </sect2>97 <!--98 <sect2 id='sysd-desc'>99 <title>Systemd</title>100 101 <para>Systemd is a group of interconnected programs that handles system and102 individual process requests. It provides a dependency system between103 various entities called "units". It automatically addresses dependencies104 between units and can execute several startup tasks in parallel. It105 provides login, inetd, logging, time, and networking services. </para>106 107 <bridgehead renderas="sect3">Advantages</bridgehead>108 109 <itemizedlist>110 <listitem>111 <para>Used on many established distributions by default.</para>112 </listitem>113 114 <listitem>115 <para>There is extensive documentation.116 See <ulink url="http://www.freedesktop.org/wiki/Software/systemd/"/>.</para>117 </listitem>118 119 <listitem>120 <para>Parallel execution of boot processes. A medium speed121 base LFS system takes 6-10 seconds from kernel start to a122 login prompt. Network connectivity is typically established123 about 2 seconds after the login prompt. More complex startup124 procedures may show a greater speedup when compared to System V.</para>125 </listitem>126 127 <listitem>128 <para>Implements advanced features such as control groups to129 manage related processes.</para>130 </listitem>131 132 <listitem>133 <para>Maintains backward compatibility with System V programs134 and scripts.</para>135 </listitem>136 </itemizedlist>137 138 <bridgehead renderas="sect3">Disadvantages</bridgehead>139 140 <itemizedlist>141 <listitem>142 <para>There is a substantial learning curve.</para>143 </listitem>144 145 <listitem>146 <para>Some advanced features such as dbus or cgroups cannot be147 disabled if they are not otherwise needed.</para>148 </listitem>149 150 <listitem>151 <para>Although implemented as several executable programs152 the user cannot choose to implement only the portions desired.</para>153 </listitem>154 155 <listitem>156 <para>Due to the nature of using compiled programs, systemd is157 more difficult to debug.</para>158 </listitem>159 160 <listitem>161 <para>Logging is done in a binary format. Extra tools must162 be used to process logs or additional processes must be implemented163 to duplicate traditional logging programs.</para>164 </listitem>165 166 </itemizedlist>167 168 </sect2>169 -->170 <!--171 <sect2 id='sysv'>172 <title>Selecting a Boot Method</title>173 174 <para>Selecting a boot method in LFS is relatively easy.175 Both systems are installed side-by-side. The only task needed is to176 ensure the files that are needed by the system have the correct names.177 The following scripts do that.</para>178 179 <screen><userinput remap="install">cat > /usr/sbin/set-systemd << "EOF"180 #! /bin/bash181 182 ln -svfn init-systemd /sbin/init183 ln -svfn init.d-systemd /etc/init.d184 185 for tool in halt poweroff reboot runlevel shutdown telinit; do186 ln -sfvn ${tool}-systemd /sbin/${tool}187 ln -svfn ${tool}-systemd.8 /usr/share/man/man8/${tool}.8188 done189 190 echo "Now reboot with /sbin/reboot-sysv"191 EOF192 193 chmod 0744 /usr/sbin/set-systemd194 195 cat > /usr/sbin/set-sysv << "EOF"196 #! /bin/bash197 198 ln -sfvn init-sysv /sbin/init199 ln -svfn init.d-sysv /etc/init.d200 201 for tool in halt poweroff reboot runlevel shutdown telinit; do202 ln -sfvn ${tool}-sysv /sbin/${tool}203 ln -svfn ${tool}-sysv.8 /usr/share/man/man8/${tool}.8204 done205 206 echo "Now reboot with /sbin/reboot-systemd"207 EOF208 209 chmod 0744 /usr/sbin/set-sysv</userinput></screen>210 211 <note><para>The comment about the correct command to reboot in the212 above scripts is correct. The reboot command for the current boot213 system must be used after the script changes the default reboot command.214 </para></note>215 216 <para>Now set the desired boot system. The default is System V:</para>217 218 <screen><userinput remap="install">/usr/sbin/set-sysv</userinput></screen>219 220 <para>Changing the boot system can be done at any time by running the221 appropriate script above and rebooting.</para>222 223 </sect2>224 -->225 33 </sect1> -
chapter07/kernfs.xml
r811b5a39 r6dfcfecc 6 6 ]> 7 7 8 <sect1 id="ch- system-kernfs">8 <sect1 id="ch-tools-kernfs"> 9 9 <?dbhtml filename="kernfs.html"?> 10 10 11 11 <title>Preparing Virtual Kernel File Systems</title> 12 12 13 <indexterm zone="ch- system-kernfs">13 <indexterm zone="ch-tools-kernfs"> 14 14 <primary sortas="e-/dev/">/dev/*</primary> 15 15 </indexterm> … … 31 31 device nodes, in particular the <filename 32 32 class="devicefile">console</filename> and <filename 33 class="devicefile">null</filename> devices. The device nodes must be created 34 on the hard disk so that they are available before <command>udevd</command> 35 has been started, and additionally when Linux is started with 33 class="devicefile">null</filename> devices. The device nodes must be 34 created on the hard disk so that they are available before the kernel 35 populates <systemitem class="filesystem">/dev</systemitem>), and 36 additionally when Linux is started with 36 37 <parameter>init=/bin/bash</parameter>. Create the devices by running the 37 38 following commands:</para> … … 42 43 </sect2> 43 44 44 <sect2 id="ch- system-bindmount">45 <sect2 id="ch-tools-bindmount"> 45 46 <title>Mounting and Populating /dev</title> 46 47 … … 64 65 </sect2> 65 66 66 <sect2 id="ch- system-kernfsmount">67 <sect2 id="ch-tools-kernfsmount"> 67 68 <title>Mounting Virtual Kernel File Systems</title> 68 69 … … 73 74 mount -vt sysfs sysfs $LFS/sys 74 75 mount -vt tmpfs tmpfs $LFS/run</userinput></screen> 75 76 <!-- 76 77 <variablelist> 77 78 <title>The meaning of the mount options for devpts:</title> … … 101 102 102 103 </variablelist> 103 104 --> 104 105 <para>In some host systems, <filename>/dev/shm</filename> is a 105 106 symbolic link to <filename class="directory">/run/shm</filename>. -
chapter07/perl.xml
r811b5a39 r6dfcfecc 26 26 27 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 28 href="../chapter0 6/perl.xml"28 href="../chapter08/perl.xml" 29 29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 30 30 … … 34 34 35 35 <seglistitem> 36 <seg>&perl- ch5-sbu;</seg>37 <seg>&perl- ch5-du;</seg>36 <seg>&perl-tmp-sbu;</seg> 37 <seg>&perl-tmp-du;</seg> 38 38 </seglistitem> 39 39 </segmentedlist> … … 46 46 <para>Prepare Perl for compilation:</para> 47 47 48 <screen><userinput remap="configure">sh Configure -des -Dprefix=/ tools -Dlibs=-lm -Uloclibpth -Ulocincpth</userinput></screen>48 <screen><userinput remap="configure">sh Configure -des -Dprefix=/usr</userinput></screen> 49 49 50 50 <variablelist> 51 <title>The meaning of the Configure options:</title> 52 51 <title>The meaning of the new Configure options:</title> 53 52 <varlistentry> 54 53 <term><parameter>-des</parameter></term> … … 60 59 </varlistentry> 61 60 62 <varlistentry>63 <term>64 <parameter>-Uloclibpth</parameter> and65 <parameter>-Ulocincpth</parameter>66 </term>67 <listitem>68 <para>These entries undefine variables that cause the configuration69 to search for locally installed components that may exist on the70 host system.</para>71 </listitem>72 </varlistentry>73 74 61 </variablelist> 75 62 76 77 78 79 <para>Build the package:</para> 63 <para>Compile the package:</para> 80 64 81 65 <screen><userinput remap="make">make</userinput></screen> 82 66 83 <para>Although Perl comes with a test suite, it would be better to wait 84 until it is installed in the next chapter.</para> 67 <para>Install the package:</para> 85 68 86 <para>Only a few of the utilities and libraries need to be installed at this 87 time:</para> 88 89 <screen><userinput remap="install">cp -v perl cpan/podlators/scripts/pod2man /tools/bin 90 mkdir -pv /tools/lib/perl5/&perl-version; 91 cp -Rv lib/* /tools/lib/perl5/&perl-version;</userinput></screen> 69 <screen><userinput remap="install">make install</userinput></screen> 92 70 93 71 </sect2> … … 96 74 <title/> 97 75 98 <para>Details on this package are located in 99 <xref linkend="contents-perl" role="."/></para> 76 <para>Details on this package are located in <xref linkend="contents-perl" role="."/></para> 100 77 101 78 </sect2> -
chapter07/python.xml
r811b5a39 r6dfcfecc 19 19 <indexterm zone="ch-tools-Python"> 20 20 <primary sortas="a-Python">Python</primary> 21 <secondary>t ools</secondary>21 <secondary>temporary</secondary> 22 22 </indexterm> 23 23 … … 26 26 27 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 28 href="../chapter0 6/python.xml"28 href="../chapter08/python.xml" 29 29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 30 30 … … 34 34 35 35 <seglistitem> 36 <seg>&python- ch5-sbu;</seg>37 <seg>&python- ch5-du;</seg>36 <seg>&python-tmp-sbu;</seg> 37 <seg>&python-tmp-du;</seg> 38 38 </seglistitem> 39 39 </segmentedlist> … … 51 51 </note> 52 52 53 <para>This package first builds the Python interpreter, then some54 standard Python modules. The main script for building modules is55 written in Python, and uses hard-coded paths to the host <filename56 class="directory">/usr/include</filename> and <filename57 class="directory">/usr/lib</filename> directories. To prevent them58 from being used, issue:</para>59 60 <screen><userinput remap="pre">sed -i '/def add_multiarch_paths/a \ return' setup.py</userinput></screen>61 62 53 <para>Prepare Python for compilation:</para> 63 54 64 <screen><userinput remap="configure">./configure --prefix=/ tools--without-ensurepip</userinput></screen>55 <screen><userinput remap="configure">./configure --prefix=/usr --without-ensurepip</userinput></screen> 65 56 66 57 <variablelist> … … 81 72 <screen><userinput remap="make">make</userinput></screen> 82 73 83 <para>Compilation is now complete. The test suite requires TK and84 and X Windows and cannot be run at this time.85 </para>86 87 74 <para>Install the package:</para> 88 75 … … 94 81 <title/> 95 82 96 <para>Details on this package are located in 97 <xref linkend="contents-python" role="."/></para> 83 <para>Details on this package are located in <xref linkend="contents-python" role="."/></para> 98 84 99 85 </sect2> -
chapter07/texinfo.xml
r811b5a39 r6dfcfecc 19 19 <indexterm zone="ch-tools-texinfo"> 20 20 <primary sortas="a-Texinfo">Texinfo</primary> 21 <secondary>t ools</secondary>21 <secondary>temporary</secondary> 22 22 </indexterm> 23 23 … … 26 26 27 27 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" 28 href="../chapter0 6/texinfo.xml"28 href="../chapter08/texinfo.xml" 29 29 xpointer="xpointer(/sect1/sect2[1]/para[1])"/> 30 30 … … 34 34 35 35 <seglistitem> 36 <seg>&texinfo- ch5-sbu;</seg>37 <seg>&texinfo- ch5-du;</seg>36 <seg>&texinfo-tmp-sbu;</seg> 37 <seg>&texinfo-tmp-du;</seg> 38 38 </seglistitem> 39 39 </segmentedlist> … … 46 46 <para>Prepare Texinfo for compilation:</para> 47 47 48 <screen><userinput remap="configure">./configure --prefix=/ tools</userinput></screen>48 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> 49 49 50 50 <note> … … 58 58 <screen><userinput remap="make">make</userinput></screen> 59 59 60 <para>Compilation is now complete. As discussed earlier, running the test61 suite is not mandatory for the temporary tools here in this chapter. To run62 the Texinfo test suite anyway, issue the following command:</para>63 64 <screen><userinput remap="test">make check</userinput></screen>65 66 60 <para>Install the package:</para> 67 61 … … 73 67 <title/> 74 68 75 <para>Details on this package are located in 76 <xref linkend="contents-texinfo" role="."/></para> 69 <para>Details on this package are located in <xref linkend="contents-texinfo" role="."/></para> 77 70 78 71 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.