Changeset 6a156bab
- Timestamp:
- 06/12/2020 04:40:07 AM (3 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, arm, bdubbs/gcc13, ml-11.0, multilib, s6-init, trunk, xry111/arm64, xry111/clfs-ng, xry111/git-transition, xry111/glibc-2.34, xry111/glibc-2.37, xry111/kcfg-revise, xry111/lfs-next, xry111/pip3, xry111/queue-11.3, xry111/rust-wip-20221008, xry111/tester-nohack, xry111/usr-move
- Children:
- 26fec27
- Parents:
- ea7ec72
- Files:
-
- 38 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter05/glibc.xml
rea7ec72 r6a156bab 158 158 <para>Install the package:</para> 159 159 160 <warning><para>If <envar>LFS</envar> is not prop rly set, and despite the160 <warning><para>If <envar>LFS</envar> is not properly set, and despite the 161 161 recommendations, you are building as root, the next command will install 162 162 the newly built glibc to your host system, which most likely will render it -
chapter08/aboutdebug.xml
rea7ec72 r6a156bab 14 14 debugging symbols included (with <command>gcc</command>'s 15 15 <parameter>-g</parameter> option). This means that when debugging a 16 program or library that was compiled with debugging information 17 included,the debugger can provide not only memory addresses, but also16 program or library that was compiled with debugging information, 17 the debugger can provide not only memory addresses, but also 18 18 the names of the routines and variables.</para> 19 19 -
chapter08/adjusting.xml
rea7ec72 r6a156bab 51 51 <para os="b">There should be no errors, 52 52 and the output of the last command will be (allowing for 53 platform-specific differences in dynamic linker name):</para>53 platform-specific differences in the dynamic linker name):</para> 54 54 55 55 <screen os="c"><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen> … … 105 105 <screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen> 106 106 107 <para os="p"> Lastly, make sure GCC is using the correct dynamic linker:</para>107 <para os="p">Make sure GCC is using the correct dynamic linker:</para> 108 108 109 109 <screen os="q"><userinput>grep found dummy.log</userinput></screen> … … 116 116 <para os="t">If the output does not appear as shown above or is not received 117 117 at all, then something is seriously wrong. Investigate and retrace the 118 steps to find out where the problem is and correct it. The most likely119 reason is that something went wrong with the specs file adjustment. Any118 steps to find out where the problem is and correct it. <!--The most likely 119 reason is that something went wrong with the specs file adjustment.--> Any 120 120 issues will need to be resolved before continuing with the process.</para> 121 121 -
chapter08/attr.xml
rea7ec72 r6a156bab 44 44 <para>Prepare Attr for compilation:</para> 45 45 46 <screen revision="sysv"><userinput remap="configure"> 47 ./configure --prefix=/usr \ 46 <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ 48 47 --bindir=/bin \ 49 48 --disable-static \ … … 51 50 --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen> 52 51 53 <screen revision="systemd"><userinput remap="configure"> 54 ./configure --prefix=/usr \ 52 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \ 55 53 --disable-static \ 56 54 --sysconfdir=/etc \ -
chapter08/autoconf.xml
rea7ec72 r6a156bab 44 44 <para>First, fix a bug generated by Perl 5.28.</para> 45 45 46 <screen><userinput remap="pre">sed '361 s/{/\\{/' -ibin/autoscan.in</userinput></screen>46 <screen><userinput remap="pre">sed -i '361 s/{/\\{/' bin/autoscan.in</userinput></screen> 47 47 48 48 <para>Prepare Autoconf for compilation:</para> -
chapter08/automake.xml
rea7ec72 r6a156bab 44 44 <para>Fix a failing test:</para> 45 45 46 <screen><userinput remap="pre">sed -i "s/''/etags/" 46 <screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen> 47 47 48 48 <para>Prepare Automake for compilation:</para> -
chapter08/bash.xml
rea7ec72 r6a156bab 84 84 PATH=$PATH make tests < $(tty) 85 85 EOF</userinput></screen> 86 <!-- 87 <para>The <systemitem class="username">tester</systemitem> 88 user does not have enough permissions for all the tests to pass. This shows 89 up in some <quote>diff</quote> output in four test results. Portions of the 90 run-execscript, run-lastpipe, run-read, and run-test programs 91 are known to fail in the LFS chroot environment, but pass if the tests 92 are run in a full system.</para> 93 --> 86 94 87 <para>Install the package and move the main executable to 95 88 <filename class='directory'>/bin</filename>:</para> … … 105 98 <note> 106 99 <para>The parameters used make the <command>bash</command> 107 process an interactive login shell and continue to disable hashing so100 process an interactive login shell and continues to disable hashing so 108 101 that new programs are found as they become available.</para> 109 102 </note> -
chapter08/coreutils.xml
rea7ec72 r6a156bab 112 112 113 113 <para>We're going to run the remainder of the tests as the 114 <systemitem class="username">tester</systemitem> user. Certain tests ,115 however,require that the user be a member of more than one group. So that116 these tests are not skipped we'lladd a temporary group and make the114 <systemitem class="username">tester</systemitem> user. Certain tests 115 require that the user be a member of more than one group. So that 116 these tests are not skipped, add a temporary group and make the 117 117 user <systemitem class="username">tester</systemitem> a part of it:</para> 118 118 … … 127 127 128 128 <screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> 129 <!--130 <para>The test program test-getlogin is known to fail in a131 partially built system environment like the chroot environment here, but132 passes if run at the end of this chapter. The test program tty.sh is133 also known to fail.</para>134 -->135 129 136 130 <para>Remove the temporary group:</para> … … 148 142 mv -v /usr/bin/chroot /usr/sbin 149 143 mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 150 sed -i s/\"1\"/\"8\"/1/usr/share/man/man8/chroot.8</userinput></screen>144 sed -i 's/"1"/"8"' /usr/share/man/man8/chroot.8</userinput></screen> 151 145 152 146 <para revision="sysv">Some of the scripts in the LFS-Bootscripts package … … 191 185 <?dbhtml list-presentation="table"?> 192 186 187 <varlistentry id="lbracket"> 188 <term><command>[</command></term> 189 <listitem> 190 <para>Is an actual command, /usr/bin/[, that is a synonym 191 for the <command>test</command> command.</para> 192 <indexterm zone="ch-system-coreutils lbracket"> 193 <primary sortas="b-111">[</primary> 194 </indexterm> 195 </listitem> 196 </varlistentry> 197 193 198 <varlistentry id="base32"> 194 199 <term><command>base32</command></term> -
chapter08/e2fsprogs.xml
rea7ec72 r6a156bab 24 24 <title/> 25 25 26 <para>The E2fsprogs package contains the utilities for handling the26 <para>The e2fsprogs package contains the utilities for handling the 27 27 <systemitem class="filesystem">ext2</systemitem> file system. It also 28 28 supports the <systemitem class="filesystem">ext3</systemitem> and … … 45 45 <title>Installation of E2fsprogs</title> 46 46 47 <para>The E2fsprogs documentation recommends that the package be built in47 <para>The e2fsprogs documentation recommends that the package be built in 48 48 a subdirectory of the source tree: </para> 49 49 … … 51 51 cd build</userinput></screen> 52 52 53 <para>Prepare E2fsprogs for compilation:</para>53 <para>Prepare e2fsprogs for compilation:</para> 54 54 55 55 <screen><userinput remap="configure">../configure --prefix=/usr \ … … 63 63 64 64 <variablelist> 65 <title>The meaning of the environment variable andconfigure options:</title>65 <title>The meaning of the configure options:</title> 66 66 67 67 <varlistentry> … … 75 75 like <filename class="directory">/lib</filename> and <filename 76 76 class="directory">/sbin</filename>. If this option is not passed 77 to E2fsprogs'configure, the programs are installed into the77 to configure, the programs are installed into the 78 78 <filename class="directory">/usr</filename> directory.</para> 79 79 </listitem> … … 91 91 <term><parameter>--disable-*</parameter></term> 92 92 <listitem> 93 <para>This prevents E2fsprogs from building and installing the93 <para>This prevents e2fsprogs from building and installing the 94 94 <systemitem class="library">libuuid</systemitem> and 95 95 <systemitem class="library">libblkid</systemitem> libraries, the 96 96 <systemitem class="daemon">uuidd</systemitem> daemon, and the 97 <command>fsck</command> wrapper, as Util-Linux installs more97 <command>fsck</command> wrapper, as util-linux installs more 98 98 recent versions.</para> 99 99 </listitem> … … 110 110 <screen><userinput remap="test">make check</userinput></screen> 111 111 112 <para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory.112 <para>One of the e2fsprogs tests will attempt to allocate 256 MB of memory. 113 113 If you do not have significantly more RAM than this, be sure to enable 114 114 sufficient swap space for the test. See <xref -
chapter08/expat.xml
rea7ec72 r6a156bab 44 44 <para>First fix a problem with the regression tests in the LFS environment:</para> 45 45 46 <screen><userinput remap="pre">sed -i 's |usr/bin/env |bin/|' run.sh.in</userinput></screen>46 <screen><userinput remap="pre">sed -i 's:usr/bin/env :bin/:' run.sh.in</userinput></screen> 47 47 48 48 <para>Prepare Expat for compilation:</para> -
chapter08/gcc.xml
rea7ec72 r6a156bab 66 66 --with-system-zlib</userinput></screen> 67 67 68 <para>Note that for other languages,there are some prerequisites that68 <para>Note that for other programming languages there are some prerequisites that 69 69 are not yet available. See the 70 <ulink url="&blfs-book;general/gcc.html">BLFS Book </ulink>70 <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink> 71 71 for instructions on how to build all of GCC's supported languages.</para> 72 72 … … 78 78 <listitem> 79 79 <para>This parameter makes the configure script use the ld installed 80 by the binutils installedearlier in this chapter, rather than80 by the binutils built earlier in this chapter, rather than 81 81 the cross-built version which would otherwise be used.</para> 82 82 </listitem> … … 87 87 <listitem> 88 88 <para>This switch tells GCC to link to the system installed copy of 89 the Zlib library, rather than its own internal copy.</para>89 the zlib library, rather than its own internal copy.</para> 90 90 </listitem> 91 91 </varlistentry> … … 101 101 </important> 102 102 103 <para>One set of tests in the GCC test suite is known to exhaust the stack,104 s o increase the stack size prior to running the tests:</para>103 <para>One set of tests in the GCC test suite is known to exhaust the default 104 stack, so increase the stack size prior to running the tests:</para> 105 105 106 106 <screen><userinput remap="test">ulimit -s 32768</userinput></screen> … … 176 176 <para>Now that our final toolchain is in place, it is important to again ensure 177 177 that compiling and linking will work as expected. We do this by performing 178 the same sanity checks as we did earlier in the chapter:</para>178 some sanity checks:</para> 179 179 180 180 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" … … 206 206 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen> 207 207 208 <para>Depending on your machine architecture, the above may differ slightly ,209 the difference usually beingthe name of the directory208 <para>Depending on your machine architecture, the above may differ slightly. 209 The difference will be the name of the directory 210 210 after <filename class="directory">/usr/lib/gcc</filename>. The important 211 211 thing to look for here is that <command>gcc</command> has found all three … … 229 229 /usr/include</computeroutput></screen> 230 230 231 <para>Again, note that the directory named after your target triplet may be 232 different than the above, depending on your architecture.</para> 233 234 <!-- This appears to be obsolete 235 236 <note><para>As of version 4.3.0, GCC now unconditionally installs the 237 <filename>limits.h</filename> file into the private 238 <filename class="directory">include-fixed</filename> directory, and that 239 directory is required to be in place.</para></note> 240 --> 231 <para>Again, the directory named after your target triplet may be 232 different than the above, depending on your system architecture.</para> 241 233 242 234 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" -
chapter08/gdbm.xml
rea7ec72 r6a156bab 25 25 26 26 <para>The GDBM package contains the GNU Database Manager. It is a library 27 of database functions that use extensible hashing and work similar to the27 of database functions that use extensible hashing and works similar to the 28 28 standard UNIX dbm. The library provides primitives for storing key/data 29 29 pairs, searching and retrieving the data by its key and deleting a key … … 61 61 <term><envar>--enable-libgdbm-compat</envar></term> 62 62 <listitem> 63 <para>This switch enables the libgdbm compatibility library to be64 built, as some packages outside of LFS may require the older DBM63 <para>This switch enables building the libgdbm compatibility library. 64 Some packages outside of LFS may require the older DBM 65 65 routines it provides.</para> 66 66 </listitem> -
chapter08/gettext.xml
rea7ec72 r6a156bab 44 44 <title>Installation of Gettext</title> 45 45 46 <!-- This has been fixed in upstream gnulib, when a new version of47 gettext is released, please check #4055 to see if the change has been48 picked up in this package49 50 As of April 11, 2018, 'TESTS = test-lock' is in gettext-runtime/tests/Makefile.am51 Perhaps the test is fixed.52 53 There is no reference to 'test' or TEST in gettext-tools/gnulib-tests/Makefile.am54 -->55 <!--56 <para>First, suppress two invocations of test-lock which on some machines57 can loop forever:</para>58 59 <screen><userinput remap="pre">sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in &&60 sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinput></screen>-->61 62 <!-- As of April 11, 2018 appdata.* is NOT in git master, but appears63 to be in metainfo.{its,loc}, When updating, check BLFS gnome-screenshot. -->64 65 <!--66 <para>Now fix a configuration file:</para>67 68 <screen><userinput remap="pre">sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \69 -i gettext-tools/its/appdata.loc</userinput></screen>70 -->71 46 <para>Prepare Gettext for compilation:</para> 72 47 … … 77 52 <para>Compile the package:</para> 78 53 79 <screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen> 80 54 <!--<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>--> 55 <screen><userinput remap="make">make</userinput></screen> 56 <!-- 81 57 <variablelist> 82 58 <title>The meaning of the make parameter:</title> … … 93 69 94 70 </variablelist> 95 71 --> 96 72 <para>To test the results (this takes a long time, around 3 SBUs), 97 73 issue:</para> -
chapter08/glibc.xml
rea7ec72 r6a156bab 50 50 51 51 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> 52 <!-- 53 <para>Fix a minor security issue with glob functions:</para> 54 55 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-glob-patch;</userinput></screen> 56 --> 57 <!-- No longer needed 58 <para>Fix a problem introduced with the linux-5.2 kernel:</para> 59 60 <screen><userinput remap="pre">sed -i '/asm.socket.h/a# include <linux/sockios.h>' \ 61 sysdeps/unix/sysv/linux/bits/socket.h</userinput></screen> 62 === already done === 63 <para>Create a symlink for LSB 64 compliance. Additionally, for x86_64, create a compatibility symlink 65 required for the dynamic loader to function correctly:</para> 66 67 <screen><userinput remap="pre">case $(uname -m) in 68 i?86) ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3 69 ;; 70 x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64 71 ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3 72 ;; 73 esac</userinput></screen> 74 75 <para>Remove a file that may be left over from a previous build attempt: 76 </para> 77 78 <screen><userinput remap="pre">rm -f /usr/include/limits.h</userinput></screen> 79 --> 52 80 53 <para>The Glibc documentation recommends building Glibc 81 54 in a dedicated build directory:</para> … … 95 68 <variablelist> 96 69 <title>The meaning of the options and new configure parameters:</title> 97 70 <!-- 98 71 <varlistentry> 99 72 <term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term> … … 107 80 </listitem> 108 81 </varlistentry> 109 82 --> 110 83 <varlistentry> 111 84 <term><parameter>--disable-werror</parameter></term> … … 177 150 is known to fail in the LFS chroot environment.</para> 178 151 </listitem> 179 152 <!-- 180 153 <listitem> 181 154 <para><emphasis>inet/tst-idna_name_classify</emphasis> … … 188 161 may fail on some architectures.</para> 189 162 </listitem> 190 163 --> 191 164 <listitem> 192 165 <para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis> … … 207 180 AMD processor.</para> 208 181 </listitem> 209 <!-- 210 <listitem> 211 <para>The 212 <emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis> 213 tests may fail for reasons that have not been determined. </para> 214 </listitem> 215 216 <listitem> 217 <para>Other tests known to fail on some architectures are 218 malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para> 219 </listitem> 220 --> 182 221 183 </itemizedlist> 222 184 … … 383 345 <term><parameter>zic -L /dev/null ...</parameter></term> 384 346 <listitem> 385 <para>This creates posix time zones ,without any leap seconds. It is347 <para>This creates posix time zones without any leap seconds. It is 386 348 conventional to put these in both 387 349 <filename class="directory">zoneinfo</filename> and … … 391 353 test-suites will report errors. On an embedded system, where space is 392 354 tight and you do not intend to ever update the time zones, you could save 393 1.9 MB by not using the <filename class="directory">posix</filename>355 1.9 MB by not using the <filename class="directory">posix</filename> 394 356 directory, but some applications or test-suites might produce some 395 357 failures.</para> -
chapter08/gzip.xml
rea7ec72 r6a156bab 54 54 <screen><userinput remap="test">make check</userinput></screen> 55 55 56 <para>Two tests are known to fail in the LFS environment:57 help-version and zmore.</para>58 59 56 <para>Install the package:</para> 60 57 -
chapter08/intltool.xml
rea7ec72 r6a156bab 45 45 46 46 <screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen> 47 48 <note><para>The above regular expression looks unusual because of all the 49 baxkslashes. What it does is add a backslash before the right brace 50 character in the sequence '\${' resulting in '\$\{'.</para></note> 47 51 48 52 <para>Prepare Intltool for compilation:</para> -
chapter08/introduction.xml
rea7ec72 r6a156bab 11 11 <title>Introduction</title> 12 12 13 <para>In this chapter, we enter the building site and start constructing the 14 LFS system in earnest. That is, we chroot into the temporary mini Linux system, 15 make a few final preparations, and then begin installing the packages.</para> 13 <para>In this chapter, we start constructing the LFS system in earnest. 14 </para> 16 15 17 16 <para>The installation of this software is straightforward. Although in many … … 42 41 space is required during this building process. Following the installation 43 42 instructions, there is a list of programs and libraries (along with brief 44 descriptions of these) that the package installs.</para>43 descriptions) that the package installs.</para> 45 44 46 <note><para>The SBU values and required disk space includes 47 test suite data for all applicable packages in 48 <xref linkend="chapter-building-system"/>.</para></note> 45 <note><para>The SBU values and required disk space includes test suite data 46 for all applicable packages in <xref linkend="chapter-building-system"/>. SBU 47 values have been calculated using a single CPU core (-j1) for all 48 operations.</para></note> 49 49 50 50 <sect2> … … 53 53 <para>In general, the LFS editors discourage building and installing static 54 54 libraries. The original purpose for most static libraries has been made 55 obsolete in a modern Linux system. In addition linking a static library55 obsolete in a modern Linux system. In addition, linking a static library 56 56 into a program can be detrimental. If an update to the library is needed 57 57 to remove a security problem, all programs that use the static library will … … 60 60 do the linking) may not even be known.</para> 61 61 62 <para>In the procedures in Chapter 6, we remove or disable installation of62 <para>In the procedures in this chapter, we remove or disable installation of 63 63 most static libraries. Usually this is done by passing a 64 64 <option>--disable-static</option> option to <command>configure</command>. -
chapter08/iproute2.xml
rea7ec72 r6a156bab 48 48 If the <command>arpd</command> binary is needed, 49 49 instructions for compiling Berkeley DB can be found in the BLFS Book at 50 <ulink url="&blfs-book;server/d atabases.html#db"/>.50 <ulink url="&blfs-book;server/db.html"/>. 51 51 </para> 52 52 … … 55 55 56 56 <para>It is also necessary to disable building two modules that 57 require s<ulink url="&blfs-book;postlfs/iptables.html"/>.</para>57 require <ulink url="&blfs-book;postlfs/iptables.html"/>.</para> 58 58 59 59 <screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen> -
chapter08/kbd.xml
rea7ec72 r6a156bab 42 42 <title>Installation of Kbd</title> 43 43 44 <para>The behaviour of the Backspace and Delete keys is not consistent44 <para>The behaviour of the backspace and delete keys is not consistent 45 45 across the keymaps in the Kbd package. The following patch fixes this 46 46 issue for i386 keymaps:</para> … … 48 48 <screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen> 49 49 50 <para>After patching, the Backspace key generates the character with code 127,51 and the Delete key generates a well-known escape sequence.</para>50 <para>After patching, the backspace key generates the character with code 127, 51 and the delete key generates a well-known escape sequence.</para> 52 52 53 53 <para>Remove the redundant <command>resizecons</command> program (it requires … … 56 56 manpage.</para> 57 57 58 <screen><userinput remap="pre">sed -i ' s/\(RESIZECONS_PROGS=\)yes/\1no/g' configure58 <screen><userinput remap="pre">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure 59 59 sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen> 60 60 … … 64 64 65 65 <variablelist> 66 <title>The meaning of the configure option s:</title>66 <title>The meaning of the configure option:</title> 67 67 68 68 <varlistentry> 69 69 <term><parameter>--disable-vlock</parameter></term> 70 70 <listitem> 71 <para>This option prevents the vlock utility from being built , asit71 <para>This option prevents the vlock utility from being built because it 72 72 requires the PAM library, which isn't available in the chroot 73 73 environment.</para> … … 98 98 <para>If desired, install the documentation:</para> 99 99 100 <screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version;100 <screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version; 101 101 cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen> 102 102 -
chapter08/kmod.xml
rea7ec72 r6a156bab 79 79 several tests will not run outside of a git repository. </para> 80 80 81 <!-- 82 <para>To test the results, issue:</para> 83 84 <screen><userinput remap="test">make check</userinput></screen> 85 --> 86 <para>Install the package, and create symlinks for 81 <para>Install the package and create symlinks for 87 82 compatibility with Module-Init-Tools (the package that previously handled 88 83 Linux kernel modules):</para> -
chapter08/libffi.xml
rea7ec72 r6a156bab 50 50 Illegal Operation Errors.</para> 51 51 </note> 52 <!--53 <para>Modify the Makefile to install headers into the standard54 <filename class="directory">/usr/include</filename> directory instead of55 <filename class="directory">/usr/lib/libffi-&libffi-version;/include</filename>.</para>56 52 57 <screen><userinput remap="pre">sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \58 -i include/Makefile.in59 60 sed -e '/^includedir/ s/=.*$/=@includedir@/' \61 -e 's/^Cflags: -I${includedir}/Cflags:/' \62 -i libffi.pc.in</userinput></screen>63 -->64 53 <para>Prepare libffi for compilation:</para> 65 54 … … 92 81 93 82 <screen><userinput remap="test">make check</userinput></screen> 94 95 <para>Six tests, all related to test-callback.c, are known to fail.</para>96 83 97 84 <para>Install the package:</para> -
chapter08/m4.xml
rea7ec72 r6a156bab 41 41 <title>Installation of M4</title> 42 42 43 <para>First, make some fixes required by glibc-2.28 :</para>43 <para>First, make some fixes required by glibc-2.28 and later:</para> 44 44 45 45 <screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c … … 85 85 <listitem> 86 86 <para>Copies the given files while expanding the macros that they 87 contain [These macros are either built-in or user-defined and can87 contain. These macros are either built-in or user-defined and can 88 88 take any number of arguments. Besides performing macro expansion, 89 89 <command>m4</command> has built-in functions for including named … … 91 91 manipulating text, recursion, etc. The <command>m4</command> program 92 92 can be used either as a front-end to a compiler or as a macro processor 93 in its own right. ]</para>93 in its own right.</para> 94 94 <indexterm zone="ch-system-m4 m4"> 95 95 <primary sortas="b-m4">m4</primary> -
chapter08/make.xml
rea7ec72 r6a156bab 54 54 <screen><userinput remap="make">make</userinput></screen> 55 55 56 <para>The test suite needs to know where supporting perl files are located. 57 We use an environment variable to accomplish this. To test the 58 results, issue:</para> 56 <para>To test the results, issue:</para> 59 57 60 58 <screen><userinput remap="test">make check</userinput></screen> -
chapter08/man-db.xml
rea7ec72 r6a156bab 127 127 <screen><userinput remap="test">make check</userinput></screen> 128 128 129 <para>One test, man-missing-locales, is known to fail in the LFS chroot envirnment.</para>130 131 129 <para>Install the package:</para> 132 130 133 131 <screen><userinput remap="install">make install</userinput></screen> 134 <!-- 135 <para revision="sysv">Remove an unwanted directory used for service files 136 which would cause some BLFS packages to also install files there: </para> 137 138 <screen revision="sysv"><userinput remap="install">rm -rfv /lib/systemd</userinput></screen> 139 140 <para revision="systemd">Remove a reference to a non-existent user:</para> 141 142 <screen revision="systemd"><userinput remap="install">sed -i "s:man man:root root:g" /usr/lib/tmpfiles.d/man-db.conf</userinput></screen> 143 --> 132 144 133 </sect2> 145 134 -
chapter08/meson.xml
rea7ec72 r6a156bab 24 24 <title/> 25 25 26 <para>Meson is an open source build system meant to be both extremely fast ,27 and , even more importantly,as user friendly as possible.</para>26 <para>Meson is an open source build system meant to be both extremely fast 27 and as user friendly as possible.</para> 28 28 29 29 <segmentedlist> … … 40 40 <sect2 role="installation"> 41 41 <title>Installation of Meson</title> 42 <!--43 <para>Apply a fix from upstream to fix a regression:</para>44 42 45 <screen><userinput remap="pre">sed -i "s@isfile(a)@& and not a.startswith('/dev')@" mesonbuild/interpreter.py</userinput></screen>46 -->47 43 <para>Compile Meson with the following command:</para> 48 44 … … 65 61 installs various files (such as man pages) into Python Eggs. 66 62 With a specified root location, <command>setup.py</command> installs 67 these files into a standard hierarchy. Then we can just copy68 the hierarchy so the files will be inthe standard location.63 these files into a standard hierarchy. Then the hierarchy 64 can just be copied to the standard location. 69 65 </para> 70 66 </listitem> -
chapter08/openssl.xml
rea7ec72 r6a156bab 26 26 <para>The OpenSSL package contains management tools and libraries relating 27 27 to cryptography. These are useful for providing cryptographic functions 28 to other packages, such as OpenSSH, email applications and web browsers28 to other packages, such as OpenSSH, email applications, and web browsers 29 29 (for accessing HTTPS sites). </para> 30 30 … … 43 43 <sect2 role="installation"> 44 44 <title>Installation of OpenSSL</title> 45 <!--46 <para>First, fix a problem identified upstream:</para>47 45 48 <screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n memset(\&data, 0, sizeof(data));/' \49 crypto/rand/rand_lib.c</userinput></screen>50 -->51 46 <para>Prepare OpenSSL for compilation:</para> 52 47 -
chapter08/patch.xml
rea7ec72 r6a156bab 80 80 <term><command>patch</command></term> 81 81 <listitem> 82 <para>Modifies files according to a patch file [A patch file is82 <para>Modifies files according to a patch file (A patch file is 83 83 normally a difference listing created with the <command>diff</command> 84 84 program. By applying these differences to the original files, 85 <command>patch</command> creates the patched versions. ]</para>85 <command>patch</command> creates the patched versions.)</para> 86 86 <indexterm zone="ch-system-patch patch"> 87 87 <primary sortas="b-patch">patch</primary> -
chapter08/pkgconfig.xml
rea7ec72 r6a156bab 24 24 <title/> 25 25 26 <para> 27 and/or library paths to build tools during the configure and make file28 execution.</para>26 <para>The pkg-config package contains a tool for passing the include path 27 and/or library paths to build tools during the configure and make phases 28 of package installations.</para> 29 29 30 30 <segmentedlist> -
chapter08/pkgmgt.xml
rea7ec72 r6a156bab 46 46 47 47 <para>A Package Manager makes it easy to upgrade to newer versions when they 48 are released. Generally the instructions in the LFS and BLFS Bookcan be48 are released. Generally the instructions in the LFS and BLFS books can be 49 49 used to upgrade to the newer versions. Here are some points that you should 50 50 be aware of when upgrading packages, especially on a running system.</para> … … 53 53 <listitem> 54 54 <para>If Glibc needs to be upgraded to a newer version, (e.g. from 55 glibc-2. 19 to glibc-2.20), it is safer to rebuild LFS. Though you55 glibc-2.31 to glibc-2.32), it is safer to rebuild LFS. Though you 56 56 <emphasis>may</emphasis> be able to rebuild all the packages in their 57 57 dependency order, we do not recommend it. </para> 58 58 </listitem> 59 59 60 <listitem> 61 <para>If a package containing a shared library is updated, and if the 62 name of the library changes, then all the packages dynamically linked 63 to the library need to be recompiled to link against the newer library. 64 (Note that there is no correlation between the package version and the 65 name of the library.) For example, consider a package foo-1.2.3 that 66 installs a shared library with name 67 <filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade 68 the package to a newer version foo-1.2.4 that installs a shared library 69 with name <filename class='libraryfile'>libfoo.so.2</filename>. In this 70 case, all packages that are dynamically linked to 71 <filename class='libraryfile'>libfoo.so.1</filename> need to be 72 recompiled to link against 73 <filename class='libraryfile'>libfoo.so.2</filename>. Note that you 74 should not remove the previous libraries until the dependent packages 75 are recompiled.</para> 76 </listitem> 77 </itemizedlist> 60 <listitem> <para>If a package containing a shared library is updated, and 61 if the name of the library changes, then any the packages dynamically 62 linked to the library need to be recompiled in order to link against the 63 newer library. (Note that there is no correlation between the package 64 version and the name of the library.) For example, consider a package 65 foo-1.2.3 that installs a shared library with name <filename 66 class='libraryfile'>libfoo.so.1</filename>. If you upgrade the package to 67 a newer version foo-1.2.4 that installs a shared library with name 68 <filename class='libraryfile'>libfoo.so.2</filename>. In this case, any 69 packages that are dynamically linked to <filename 70 class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link 71 against <filename class='libraryfile'>libfoo.so.2</filename> in order to 72 use the new library version. You should not remove the previous 73 libraries unless all the dependent packages are recompiled.</para> 74 </listitem> </itemizedlist> 78 75 79 76 </sect2> -
chapter08/procps.xml
rea7ec72 r6a156bab 59 59 60 60 <variablelist> 61 <title>The meaning of the configure option s:</title>61 <title>The meaning of the configure option:</title> 62 62 63 63 <varlistentry> -
chapter08/python.xml
rea7ec72 r6a156bab 26 26 <para>The Python 3 package contains the Python development environment. It 27 27 is useful for object-oriented programming, writing scripts, prototyping 28 large programs or developing entire applications.</para>28 large programs, or developing entire applications.</para> 29 29 30 30 <segmentedlist> … … 85 85 86 86 <para>To test the results, issue <command>make test</command>. 87 Some tests requiring network connection or additional packages are87 Some tests requiring a network connection or additional packages are 88 88 skipped. The test named test_normalization fails because network 89 89 configuration is not completed yet. For more comprehensive results, … … 171 171 is a <application>Python</application> program that reads 172 172 <application>Python 2.x</application> source code and applies a 173 series of fixes to transform it into valid174 <application>Python 3.x</application> code.173 series of fixes to transform it into 174 valid <application>Python 3.x</application> code. 175 175 </para> 176 176 <indexterm zone="ch-system-Python"> … … 232 232 </listitem> 233 233 </varlistentry> 234 <!-- 235 <varlistentry id="pyvenv"> 236 <term><command>pyvenv</command></term> 237 <listitem> 238 <para> 239 creates virtual <application>Python</application> environments in 240 one or more target directories. 241 </para> 242 <indexterm zone="ch-system-Python"> 243 <primary sortas="b-pyvenv">pyvenv</primary> 244 </indexterm> 245 </listitem> 246 </varlistentry> 247 --> 234 248 235 </variablelist> 249 236 -
chapter08/shadow.xml
rea7ec72 r6a156bab 68 68 class="directory">/var/mail</filename> location used currently:</para> 69 69 70 <screen><userinput remap="pre">sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \ 71 -e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen> 70 <screen><userinput remap="pre"> 71 sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \ 72 -e 's:/var/spool/mail:/var/mail:' \ 73 -i etc/login.defs</userinput></screen> 72 74 73 75 <note> 74 76 <para>If you chose to build Shadow with Cracklib support, run the following:</para> 75 77 76 <screen role="nodump"><userinput>sed -i 's @DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs</userinput></screen>78 <screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen> 77 79 </note> 78 80 … … 85 87 86 88 <screen><userinput remap="configure">touch /usr/bin/passwd 87 ./configure --sysconfdir=/etc 89 ./configure --sysconfdir=/etc \ 88 90 --with-group-name-max-length=32</userinput></screen> 89 91 -
chapter08/sysklogd.xml
rea7ec72 r6a156bab 24 24 <title/> 25 25 26 <para>The Sysklogd package contains programs for logging system messages,26 <para>The sysklogd package contains programs for logging system messages, 27 27 such as those given by the kernel when unusual things happen.</para> 28 28 -
chapter08/tar.xml
rea7ec72 r6a156bab 24 24 <title/> 25 25 26 <para>The Tar package provides the ability to create tar archives ,as well27 as various other kinds ofmanipulation. Tar can be used on26 <para>The Tar package provides the ability to create tar archives as well 27 as perform various other kinds of archive manipulation. Tar can be used on 28 28 previously created archives to extract files, to store additional files, or 29 29 to update or list files which were already stored. </para> … … 51 51 52 52 <variablelist> 53 <title>The meaning of the configure option s:</title>53 <title>The meaning of the configure option:</title> 54 54 55 55 <varlistentry> -
chapter08/texinfo.xml
rea7ec72 r6a156bab 47 47 48 48 <variablelist> 49 <title>The meaning of the configure option s:</title>49 <title>The meaning of the configure option:</title> 50 50 51 51 <varlistentry> … … 102 102 103 103 <screen role="nodump"><userinput>pushd /usr/share/info 104 rm -v dir105 for f in *106 do install-info $f dir 2>/dev/null107 done104 rm -v dir 105 for f in * 106 do install-info $f dir 2>/dev/null 107 done 108 108 popd</userinput></screen> 109 109 -
chapter08/util-linux.xml
rea7ec72 r6a156bab 91 91 <warning><para>Running the test suite as the root user can be harmful to 92 92 your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must 93 be available in the currently running system ,and must be built as a93 be available in the currently running system and must be built as a 94 94 module. Building it into the kernel will prevent booting. For complete 95 95 coverage, other BLFS packages must be installed. If desired, this test can -
chapter08/vim.xml
rea7ec72 r6a156bab 55 55 <screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h</userinput></screen> 56 56 57 <!-- <para>Disable a test that fails:</para> 58 59 <screen><userinput remap="pre">sed -i '/call/{s/split/xsplit/;s/303/492/}' src/testdir/test_recover.vim</userinput></screen> 60 --> 61 <para>Prepare Vim for compilation:</para> 57 <para>Prepare vim for compilation:</para> 62 58 63 59 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> … … 67 63 <screen><userinput remap="make">make</userinput></screen> 68 64 69 <para>To prepare the tests, ensure that the70 <systemitem class="username">tester</systemitem> usercan write71 to the source stree:</para>65 <para>To prepare the tests, ensure that user 66 <systemitem class="username">tester</systemitem> can write 67 to the source tree:</para> 72 68 73 69 <screen><userinput remap="test">chown -Rv tester .</userinput></screen> 74 70 75 <para>Now run the tests as the<systemitem76 class="username">tester</systemitem> user:</para>71 <para>Now run the tests as user <systemitem 72 class="username">tester</systemitem>:</para> 77 73 78 74 <screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen> 79 80 <!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &> vim-test.log</userinput></screen>-->81 75 82 76 <para>The test suite outputs a lot of binary data to the screen. This can … … 101 95 done</userinput></screen> 102 96 103 <para>By default, Vim's documentation is installed in <filename97 <para>By default, vim's documentation is installed in <filename 104 98 class="directory">/usr/share/vim</filename>. The following symlink 105 99 allows the documentation to be accessed via <filename … … 110 104 111 105 <para>If an X Window System is going to be installed on the LFS 112 system, it may be necessary to recompile Vim after installing X. Vim106 system, it may be necessary to recompile vim after installing X. Vim 113 107 comes with a GUI version of the editor that requires X and some 114 108 additional libraries to be installed. For more information on this 115 process, refer to the Vim documentation and the Vim installation page109 process, refer to the vim documentation and the vim installation page 116 110 in the BLFS book at <ulink 117 111 url="&blfs-book;postlfs/vim.html"/>.</para> … … 158 152 <command>vi</command> behavior. The <parameter>set backspace=2</parameter> 159 153 setting allows backspacing over line breaks, autoindents, and the start of 160 insert. The <parameter>syntax on</parameter> parameter enables vim's syntax154 an insert. The <parameter>syntax on</parameter> parameter enables vim's syntax 161 155 highlighting. The <parameter>set mouse=</parameter> setting enables 162 156 proper pasting of text with the mouse when working in chroot or over a … … 166 160 emulators. This gives the highlighting a better color scheme for use on the 167 161 black background of these programs.</para> 168 <!-- 169 <para>Creating an empty <filename>~/.vimrc</filename> prevents vim from 170 overriding settings in <filename>/etc/vimrc</filename> by using 171 <filename>/usr/share/vim/vim80/defaults.vim</filename>.</para> 172 --> 162 173 163 <para>Documentation for other available options can be obtained by 174 164 running the following command:</para> … … 177 167 178 168 <note> 179 <para>By default, Vim only installs spell files for the English language.169 <para>By default, vim only installs spell files for the English language. 180 170 To install spell files for your preferred language, download the 181 171 <filename>*.spl</filename> and optionally, the <filename>*.sug</filename> -
stylesheets/lfs-xsl/lfs.css
rea7ec72 r6a156bab 433 433 .segtitle { 434 434 float: left; 435 padding-left: 1em; 436 width: 14em; 437 } 438 439 .content .segtitle { 440 width: 12em; 435 441 } 436 442 … … 442 448 .content .segbody { 443 449 display: block; 444 padding-left: 12em; 445 } 446 450 padding-left: 13em; 451 } 452 453 .content table tr td:first-child 454 { 455 width: 9em; 456 padding-right: 0px; 457 } 458 459 .content table tr td:first-child p 460 { 461 padding-right: 0px; 462 } 447 463 448 464 /* itemizedlist */
Note:
See TracChangeset
for help on using the changeset viewer.