source: chapter08/introduction.xml@ a2434bd4

multilib
Last change on this file since a2434bd4 was 7115c88, checked in by Xi Ruoyao <xry111@…>, 19 months ago

chapter08: fix minor grammar issues

  • Property mode set to 100644
File size: 4.3 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[b78c747]7
[fcc02767]8<sect1 id="ch-system-introduction">
[b78c747]9 <?dbhtml filename="introduction.html"?>
[6370fa6]10
[b78c747]11 <title>Introduction</title>
[6370fa6]12
[6a156bab]13 <para>In this chapter, we start constructing the LFS system in earnest.
14 </para>
[fcc02767]15
16 <para>The installation of this software is straightforward. Although in many
17 cases the installation instructions could be made shorter and more generic,
18 we have opted to provide the full instructions for every package to minimize
19 the possibilities for mistakes. The key to learning what makes a Linux system
20 work is to know what each package is used for and why you (or the system)
21 may need it.</para>
22
[b1c8283]23 <para>We do not recommend using customized optimizations. They can make
[fcc02767]24 a program run slightly faster, but they may also cause compilation
[091d624d]25 difficulties, and problems when running the program. If a package refuses to
[b1c8283]26 compile with a customized optimization, try to compile it without
27 optimization and see if that fixes the problem. Even if the package does compile when using a customized
[fcc02767]28 optimization, there is the risk it may have been compiled incorrectly because
[091d624d]29 of the complex interactions between the code and the build tools. Also note that
[fcc02767]30 the <option>-march</option> and <option>-mtune</option> options using values
31 not specified in the book have not been tested. This may cause problems with
32 the toolchain packages (Binutils, GCC and Glibc). The small potential gains
[b1c8283]33 achieved by customizing compiler optimizations are often outweighed by the risks.
[fcc02767]34 First-time builders of LFS are encouraged to build without custom
[b1c8283]35 optimizations.</para>
36
[7115c88]37 <para>On the other hand, we keep the optimizations enabled by the default
38 configuration of the packages. In addition, we sometimes explicitly enable an
39 optimized configuration provided by a package but not enabled by
[b1c8283]40 default. The package maintainers have already tested these configurations
41 and consider them safe, so it's not likely they would break the build.
42 Generally the default configuration already enables <option>-O2</option>
43 or <option>-O3</option>, so the resulting system will still run very fast
44 without any customized optimization, and be stable at the same time.</para>
[fcc02767]45
46 <para>Before the installation instructions, each installation page provides
47 information about the package, including a concise description of what it
48 contains, approximately how long it will take to build, and how much disk
49 space is required during this building process. Following the installation
50 instructions, there is a list of programs and libraries (along with brief
[6a156bab]51 descriptions) that the package installs.</para>
[fcc02767]52
[091d624d]53 <note><para>The SBU values and required disk space include test suite data
[6a156bab]54 for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
55 values have been calculated using a single CPU core (-j1) for all
56 operations.</para></note>
[fcc02767]57
58 <sect2>
[091d624d]59 <title>About Libraries</title>
[fcc02767]60
61 <para>In general, the LFS editors discourage building and installing static
[091d624d]62 libraries. Most static libraries have been made
[6a156bab]63 obsolete in a modern Linux system. In addition, linking a static library
[fcc02767]64 into a program can be detrimental. If an update to the library is needed
[091d624d]65 to remove a security problem, every program that uses the static library will
66 need to be relinked with the new library. Since the use of static libraries
[fcc02767]67 is not always obvious, the relevant programs (and the procedures needed to
68 do the linking) may not even be known.</para>
69
[091d624d]70 <para>The procedures in this chapter remove or disable installation of
[fcc02767]71 most static libraries. Usually this is done by passing a
72 <option>--disable-static</option> option to <command>configure</command>.
73 In other cases, alternate means are needed. In a few cases, especially
[091d624d]74 Glibc and GCC, the use of static libraries remains an essential feature of the
[fcc02767]75 package building process. </para>
76
[091d624d]77 <para>For a more complete discussion of libraries, see
[35d2578]78 <ulink url="&blfs-book;introduction/libraries.html">
[fcc02767]79 Libraries: Static or shared?</ulink> in the BLFS book.</para>
80
81 </sect2>
[81fd230]82
[b78c747]83</sect1>
Note: See TracBrowser for help on using the repository browser.