Removed --enable-threads=posix from static gcc compilation. Fixed changelog and a number of typos.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2121 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Timothy Bauscher 2002-09-20 21:11:28 +00:00
parent eb7df24002
commit 26e62aa22d
32 changed files with 73 additions and 67 deletions

View File

@ -2,7 +2,7 @@
<title>Acknowledgments</title>
<?dbhtml filename="acknowledgements.html" dir="chapter01"?>
<para>We would like to thank the following people and organizations for their
<para>We thank the following people and organizations for their
contributions toward the Linux From Scratch project:</para>
<itemizedlist>

View File

@ -18,6 +18,7 @@
<listitem><para>gcc-3.2</para></listitem>
<listitem><para>gettext-0.11.5</para></listitem>
<listitem><para>groff-1.18</para></listitem>
<listitem><para>gzip-1.2.4b.patch</para></listitem>
<listitem><para>lfs-bootscripts-1.10</para></listitem>
<listitem><para>linux-2.4.19</para></listitem>
<listitem><para>MAKEDEV-1.7</para></listitem>
@ -41,6 +42,7 @@
<listitem><para>gcc-3.2.patch</para></listitem>
<listitem><para>glibc-2.2.5-2.patch</para></listitem>
<listitem><para>gzip-1.2.4b.patch</para></listitem>
<listitem><para>kbd-1.06-3.patch</para></listitem>
<listitem><para>ncurses-5.2.patch</para></listitem>
<listitem><para>procps-2.0.7.patch</para></listitem>
<listitem><para>sh-utils-2.0-hostname.patch</para></listitem>
@ -52,10 +54,15 @@
<listitem><para>Removed:
<itemizedlist>
<listitem><para>gzip-1.2.4a.patch</para></listitem>
<listitem><para>kbd-1.06-2.patch</para></listitem>
<listitem><para>reiserfsprogs-3.x.1b</para></listitem>
</itemizedlist>
</para></listitem>
<listitem><para>September 20th, 2002 [timothy]: Chapter 05 - GCC:
Removed the <userinput>--enable-threads=posix</userinput> flag since we
don't build a C++ compiler in this chapter.</para></listitem>
<listitem><para>September 18th, 2002 [timothy]: Chapter 05 - Introduction:
Removed paragraph about static linking since it seems misleading and is
covered in better detail in <emphasis>Why Static</emphasis>.</para></listitem>

View File

@ -10,14 +10,14 @@ throughout the book. Following are some examples:</para>
<blockquote><para>This form of text is designed to be typed exactly
as seen unless otherwise noted in the surrounding text. It is also used
in the explanation sections to identify which of the commands is being
referred to.</para></blockquote>
referenced.</para></blockquote>
<para><filename>install-info: unknown option
`--dir-file=/mnt/lfs/usr/info/dir'</filename></para>
<blockquote><para>This form of text (fixed width text) is showing screen
output, probably as the result of commands issued and is also used to
show filenames such as <filename>/etc/lilo.conf</filename>.</para></blockquote>
output, probably as the result of commands issued, and is also used to
show filenames, such as <filename>/etc/lilo.conf</filename>.</para></blockquote>
<para><emphasis>Emphasis</emphasis></para>

View File

@ -5,16 +5,16 @@
<para>We are going to build the LFS system by using a previously installed
Linux distribution such as Debian, SuSE, Slackware, Mandrake, RedHat, etc.
We will use the existing Linux system as the development platform, because
we need tools like a compiler, linker, text editor, and other necessary
development tools to build our system. Ordinarily, the required tools are
available by default if we selected "development" as one of our installation
options when we installed the distributed Linux.</para>
we need tools like a compiler, linker, text editor, and other development
tools to build our system. Ordinarily, the required tools are available by
default if we selected "development" as one of our installation options
when we installed a Linux distribution.</para>
<para>After you have downloaded the necessary packages that make up an LFS
system we will create a new Linux native partition and filesystem. Here
is where the LFS system will be compiled and installed.</para>
<para>After you have downloaded the packages that make up an LFS system,
we will create a new Linux native partition and filesystem. Here is where
the LFS system will be compiled and installed.</para>
<para>The next step, chapter 5, will discuss the installation of a number of
<para>The next step, Chapter 5, will discuss the installation of a number of
packages that will form the basic development suite which is used to
build the actual system, or needed to resolve circular dependencies. For
example, you need a compiler to build a new compiler, and you need a shell
@ -28,29 +28,29 @@ do so because the pieces of the program that would normally remain in the
libraries are copied from the libraries and built right into the program.
Ordinarily, software is built with dynamic linking. This conserves storage
space and increases the efficiency of many programs. We statically link
our software in chapter 5 because we will in theory be moving our
our software in Chapter 5 because we will, in theory, be moving our
development system to a virtual environment where the already mentioned
libraries will be absent. If the software is built dynamically, our
development suite will not function. Since the libraries we are talking
about are provided by our distribution Linux, the goal of chapter 5 is to
about are provided by our distribution Linux, the goal of Chapter 5 is to
build a development environment where those libraries are not required
and is therefore independent of the distribution.</para>
<para>In chapter 6 we will build and install our final system. We will use
<para>In Chapter 6 we will build and install our final system. We will use
the chroot program to enter a virtual environment and start a new shell
whose root directory will be set to the partition where we built all the
chapter 5 software. This is very similar to rebooting and instructing the
Chapter 5 software. This is very similar to rebooting and instructing the
kernel to mount our LFS partition as the root partition. The reason that
we don't actually reboot, but instead chroot, is that creating a static
system that we can boot into requires more work that simply isn't necessary.
As well, we can continue to use our platform system while we are building
LFS. While software is being compiled and installed you can simply switch
to a different VC (Virtual Console) or X desktop and continue using your
we don't actually reboot, but instead chroot, is that creating a bootable
static system requires additional work which simply isn't necessary. As
well, we can continue to use our platform system while we are building LFS.
While software is being compiled and installed you can simply switch to a
different VC (Virtual Console) or X desktop and continue using your
computer normally.</para>
<para>When all the software from chapter 6 is installed, chapters 7, 8 and 9
<para>When all the software from Chapter 6 is installed, Chapters 7, 8 and 9
will help us finalize our installation. We will set up our boot
scripts in chapter 7. In chapter 8 we will build our final linux kernel and
scripts in Chapter 7. In Chapter 8 we will build our final linux kernel and
set up the Linux boot loader. Chapter 9 has some pointers to help you after
you finish the book. Then finally, you reboot your system and boot into your
new LFS system, and start to really use it.</para>
@ -60,8 +60,8 @@ we will take are discussed in the chapters and package descriptions as you
progress through them. If something isn't completely clear now, don't worry.
It should become very clear shortly.</para>
<para>Please read chapter 2 carefully as it explains a few important things
you should be aware of before you begin to work through chapters 5 and
<para>Please read Chapter 2 carefully as it explains a few important things
you should be aware of before you begin to work through Chapters 5 and
later.</para>
</sect1>

View File

@ -6,7 +6,7 @@
the variable $LFS will be used frequently. $LFS must at all times be
replaced with the directory where the partition that contains the LFS system
is mounted. How to create and where to mount the partition will be
explained in full detail in chapter 4. For example, let's assume that
explained in full detail in Chapter 4. For example, let's assume that
the LFS partition is mounted on /mnt/lfs.</para>
<para>For example when you are told to run a command like

View File

@ -14,7 +14,7 @@ times it takes to compile something varies too much. One package may take
<emphasis>Static Bash Unit</emphasis> or <emphasis>SBU</emphasis>.</para>
<para>It works like this: the very first package you compile in this book
is Bash in chapter 5 and it'll be statically linked. The time it takes to
is Bash in Chapter 5 and it'll be statically linked. The time it takes to
compile this package will be the basis and called the SBU. All other
compile times are relative to the time it takes to install Bash. For
example, GCC-3.2 takes about 9.5 SBUs and it's proven that this number is

View File

@ -63,8 +63,8 @@ can be used they need to be uncompressed first.</para>
it: either the directory that contains the sources can be deleted, or it
can be kept. We highly recommend deleting it. If you don't do this and
try to re-use the same source later on in the book (for example re-using
the source trees from chapter 5 for use in chapter 6), it may not work
as you expect it to. Source trees from chapter 5 will have your host
the source trees from Chapter 5 for use in Chapter 6), it may not work
as you expect it to. Source trees from Chapter 5 will have your host
distribution's settings, which don't always apply to the LFS system
after you enter the chroot'ed environment. Even running something like
<emphasis>make clean</emphasis> doesn't always guarantee a clean source

View File

@ -20,7 +20,7 @@ directory is chosen, just make sure you remember what you chose.</para>
<para>Replace <quote>xxx</quote> by the partition's designation (like hda11).</para>
<para>This directory (/mnt/lfs) is the $LFS variable you have read about
back in chapter 2. If you were planning to make use of the $LFS environment
back in Chapter 2. If you were planning to make use of the $LFS environment
variable, <userinput>export LFS=/mnt/lfs</userinput> has to be executed
now.</para>

View File

@ -14,7 +14,7 @@ library which is becoming obsolete.</para>
<para>It is not strictly necessary for the static bash to be linked
against libncurses (it can link against a static termcap for the time
being just fine because we will reinstall Bash in chapter 6 anyways,
being just fine because we will reinstall Bash in Chapter 6 anyways,
where we will use libncurses), but it's a good test to make sure that
the Ncurses package has been installed properly. If not, you will get in
trouble later on in this chapter when you install the Texinfo package.

View File

@ -42,7 +42,7 @@ make: [install] Error 2 (ignored)</screen></blockquote>
<para>then that means that you are probably using Debian, and that you have an
old version of the texinfo package. This error is not severe by any means: the
info pages will be installed when we recompile bash dynamically in
chapter 6, so you can ignore it.</para>
Chapter 6, so you can ignore it.</para>
</sect2>

View File

@ -11,7 +11,7 @@ command to create the directory:</para>
<para><screen><userinput>mkdir $LFS/static</userinput></screen></para>
<para>You may want to move the packages you downloaded in chapter 3 to this
<para>You may want to move the packages you downloaded in Chapter 3 to this
<filename class="directory">$LFS/static</filename> directory, perhaps
create a subdirectory <filename
class="directory">$LFS/static/src</filename> to keep them in.</para>

View File

@ -4,7 +4,7 @@
<para><userinput>patch -Np1 -i ../fileutils-&fileutils-version;.patch:</userinput> This is used to fix a problem with building fileutils statically on
glibc 2.2.3 systems. If this isn't done, then there is the possibility of
all of the fileutils programs causing segmentation faults once chroot is
entered in chapter 6.</para>
entered in Chapter 6.</para>
</sect2>

View File

@ -12,13 +12,10 @@ prefix during ./configure. We pass the real install prefix during the
make install command later.</para>
<para><userinput>--enable-languages=c:</userinput> This builds the C
compiler. The C++ compiler will be built in chapter 6, when we rebuild
compiler. The C++ compiler will be built in Chapter 6, when we rebuild
GCC. Other compilers are available as well. If they are needed,
the --enable-languages parameter may be omitted.</para>
<para><userinput>--enable-threads=posix:</userinput> This enables C++
exception handling for multithreaded code.</para>
<para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
This defines the .hidden assembler directive so that we don't build
a faulty Glibc later on.</para>

View File

@ -18,7 +18,7 @@ been warned.</para>
mkdir ../gcc-build &amp;&amp;
cd ../gcc-build &amp;&amp;
../gcc-&gcc-version;/configure --prefix=/static --enable-languages=c \
&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared --enable-threads=posix &amp;&amp;
&nbsp;&nbsp;&nbsp;--disable-nls --disable-shared &amp;&amp;
echo "#define HAVE_GAS_HIDDEN 1" &gt;&gt; gcc/auto-host.h &amp;&amp;
make BOOT_LDFLAGS=-static bootstrap &amp;&amp;
make prefix=$LFS/static install &amp;&amp;

View File

@ -2,13 +2,13 @@
<title>Install all software as an unprivileged user</title>
<?dbhtml filename="installasuser.html" dir="chapter05"?>
<para>When you are logged in as root during chapter 5, it is possible
<para>When you are logged in as root during Chapter 5, it is possible
that some files of your host system will be overwritten by the ones
you'll build in chapter 5. There can be all kinds of reasons for this
you'll build in Chapter 5. There can be all kinds of reasons for this
to happen, for example because the $LFS environment variable is not
set. Overwriting some files from your host system will most likely
cause all kinds of problems, so it's a good idea to be logged in as
an unprivileged user during chapter 5. To make sure the environment
an unprivileged user during Chapter 5. To make sure the environment
is as clean as possible, we'll create a new user "lfs" that can be
used while building the static installation. Issuing the following
commands as root will create a new user "lfs":</para>
@ -46,8 +46,8 @@ internationalization.</para>
<para>When your host distribution uses a glibc version older than 2.2.4,
having $LC_ALL set to something else than "C" or "POSIX" while working
through chapter 5 may cause trouble when you exit the chroot environment
of chapter 6 and try to return to it. By setting this to "POSIX" ("C"
through Chapter 5 may cause trouble when you exit the chroot environment
of Chapter 6 and try to return to it. By setting this to "POSIX" ("C"
is an alias for "POSIX") we ensure that everything will work as expected
in the chroot environment.</para>

View File

@ -24,8 +24,8 @@ NOTE: to install su, run 'make install-root' as root</screen></blockquote>
<para>You can safely ignore that warning. You need to be logged in as root
in order to install su the way Sh-utils wants to install it, which is being
suid root. Because we don't need su during chapter 6, and su will be properly
installed when we re-install Sh-utils in chapter 6, you can just
suid root. Because we don't need su during Chapter 6, and su will be properly
installed when we re-install Sh-utils in Chapter 6, you can just
pretend you didn't see it.</para>
</sect2>

View File

@ -46,9 +46,9 @@ you need to make sure that the libraries are statically linked when you build
them, hence the <userinput>--enable-static-link</userinput>,
<userinput>--disable-shared</userinput>, and
<userinput>-static</userinput> flags used
through chapter 5. Once in chapter 6, the first thing we do is build the
through Chapter 5. Once in Chapter 6, the first thing we do is build the
main set of system libraries, glibc. Once this is made we start rebuilding
all the programs we just did in chapter 5, but this time dynamically linked,
all the programs we just did in Chapter 5, but this time dynamically linked,
so that we can take advantage of the space saving opportunities.</para>
<para>And there you have it, that's why you need to use those weird

View File

@ -41,7 +41,7 @@ or ELF binary), run <userinput>strip --strip-debug filename</userinput>.
Wildcards can be used to treat multiple files (use something like
<userinput>strip --strip-debug $LFS/static/bin/*</userinput>).</para>
<para>For your convenience, chapter 9 includes one simple command to strip
<para>For your convenience, Chapter 9 includes one simple command to strip
all debugging symbols from all programs and libraries on your system.
Additional information on optimization you can find in the hint at
<ulink url="&hints-root;optimization.txt"/>.</para>

View File

@ -8,7 +8,7 @@ style init scripts, which may be found at
<ulink url="&hints-root;bsd-init.txt"/>.</para>
<para>If you decide to use BSD style, or some other style scripts, you can
skip chapter 7 when you arrive at it and move on to chapter 8.</para>
skip Chapter 7 when you arrive at it and move on to Chapter 8.</para>
<para>Install LFS-Bootscripts by running the following command:</para>

View File

@ -3,7 +3,7 @@
<?dbhtml filename="changingowner.html" dir="chapter06"?>
<para>The first thing we'll do, now that we're <emphasis>root</emphasis>,
is change the ownership of the files and directories installed in chapter 5
is change the ownership of the files and directories installed in Chapter 5
to root -- because when later we don't delete the
<filename class="directory">/static</filename> directory and start adding
new users, one of these users might end up owning the statically linked

View File

@ -39,7 +39,7 @@ cannot remove other users's files from them. The latter is prohibited
by the so-called "sticky bit" -- the highest bit in the 1777 bit mask.</para>
<para>Now that the directories are created, move the source tarballs that
were downloaded in chapter 3 to some subdirectory under
were downloaded in Chapter 3 to some subdirectory under
<filename class="directory">/usr/src</filename> (you
will have to create the desired subdirectory yourself).</para>

View File

@ -1,6 +1,9 @@
<sect2>
<title>Command explanations</title>
<para><userinput>--enable-threads=posix:</userinput> This enables C++
exception handling for multithreaded code.</para>
<para><userinput>--enable-__cxa_atexit:</userinput> This option will result
in C++ shared libraries and C++ programs that are interoperable with other
linux distributions.</para>

View File

@ -18,7 +18,7 @@ all, you should try to remove the -g value from the CFLAGS variable in the
<para>At the end of the installation the make install process will print a
message stating that /sbin/lilo has to be executed to complete the
update. Don't do this, as it has no use: the /etc/lilo.conf isn't present
yet. We will complete the installation of lilo in chapter 8.</para>
yet. We will complete the installation of lilo in Chapter 8.</para>
<para>The standard LILO prompt, or menu, may be replaced by the
LFS logo, or any logo you like. Martin Imobersteg has written a

View File

@ -3,7 +3,7 @@
<?dbhtml filename="loadkeys.html" dir="chapter07"?>
<para>If you decided to compile your keymap file directly into the kernel
back at the end of chapter 6, then you strictly speaking don't need to run
back at the end of Chapter 6, then you strictly speaking don't need to run
this loadkeys script, since the kernel has already set up the keymap for
you. You can still run it if you want, it isn't going to hurt you. It could
even be beneficial to keep it in case you run a lot of different kernels

View File

@ -40,7 +40,7 @@ on LFS active:</para>
<para><screen><userinput>/sbin/lilo</userinput></screen></para>
<para>You may now remove the static directory. If you think you may
need to redo chapter 5, then you may wish to backup the directory before
need to redo Chapter 5, then you may wish to backup the directory before
removing it. To remove the static directory, type the following
command:</para>

View File

@ -4,8 +4,8 @@
<!ENTITY book SYSTEM "book/book.xml">
<!ENTITY version "20020918">
<!ENTITY releasedate "September 18th, 2002">
<!ENTITY version "20020920">
<!ENTITY releasedate "September 20th, 2002">
<!ENTITY ftp-root "ftp://ftp.linuxfromscratch.org">
<!ENTITY http-root "http://ftp.linuxfromscratch.org">

View File

@ -6,7 +6,7 @@
fully satisfied with any of them. I didn't like the arrangement of
the bootscripts. I didn't like the way certain programs were configured by
default. Much more of that sort of thing bothered me. Finally I realized
that if I wanted full satisfisfaction from my Linux system I would have to
that if I wanted full satisfaction from my Linux system I would have to
build my own system from scratch, using only the source code. I resolved
not to use pre-compiled packages of any kind, nor CD-ROM or bootdisk that
would install some basic utilities. I would use my current Linux system to

View File

@ -2,10 +2,10 @@
<title>Organization</title>
<?dbhtml filename="organization.html" dir="preface"?>
<para>Much of the appendices is integrated into Part II (which enlarges the
<para>Much of the appendices are integrated into Part II (which enlarges the
book somewhat). We believe this makes for easier reading. This way, you
don't have to keep referencing an Appendix while you read Part II. That's
a real chore, especially if you're reading the TXT version of this book.
don't have to keep referencing an appendix while you read Part II. That's
a real chore, especially if you're reading the txt version of this book.
This book is divided into the following parts:</para>
&pf-oz-organpart1;

View File

@ -4,8 +4,7 @@
<para>Part I gives general information about the contents of the book
(revisions, where to get it, changelog, mailing lists, and other contact
information). It also contains suggested readings which discuss a few
important considerations to consider before beginning your LFS
system.</para>
important considerations before beginning your LFS system.</para>
</sect2>

View File

@ -2,8 +2,8 @@
<title>Part II - Installation of the base LFS system</title>
<para>Part II guides you through the building and installation of an LFS
system. The resulting LFS system will be the core foundation with which
the rest of your Linux system is built upon. Whatever your system becomes,
system. The resulting LFS system will be the core foundation upon which
the rest of your Linux system is built. Whatever your system becomes,
it will be built and supported by the foundation that we build in Part
II.</para>

View File

@ -1,7 +1,7 @@
<sect2 id="pre-organ3">
<title>Part III - Appendixes</title>
<para>Part III contains various Appendices.</para>
<para>Part III contains various appendices.</para>
</sect2>

View File

@ -31,7 +31,7 @@ of disk space used. Further stripping could bring that down to 5 MB or
less. Try that with a regular distribution.</para>
<para>We could compare distributed Linux to a hamburger you buy at a
fast-food restaurant, you have no idea what you are eating. LFS on the
fast-food restaurant - you have no idea what you are eating. LFS, on the
other hand, doesn't give you a hamburger, but the recipe to make a hamburger.
This allows you to review it, to omit unwanted ingredients, and to
add your own ingredients which enhance the flavor of your burger. When you