|
@@ -19,18 +19,17 @@ has.</para>
|
|
can often be around 2.5 MB), so you may not want a separate copy of each
|
|
can often be around 2.5 MB), so you may not want a separate copy of each
|
|
library attached to the program. Just imagine if you had a simple command
|
|
library attached to the program. Just imagine if you had a simple command
|
|
like ls with an extra 2.5 MB attached to it! Instead of making the library
|
|
like ls with an extra 2.5 MB attached to it! Instead of making the library
|
|
-an actual part of the program, or statically linked, the library is stored as a
|
|
|
|
-separate file, which is loaded only when the program needs it. This is what
|
|
|
|
-we call dynamically linked, as the library is loaded and unloaded dynamically,
|
|
|
|
-as the program needs it.</para>
|
|
|
|
-
|
|
|
|
-<para>So now we have a 1 KB file and a 2.5 MB file, but we still haven't saved any
|
|
|
|
-space (except maybe RAM until the library is needed). The
|
|
|
|
-<emphasis>real</emphasis> advantage of
|
|
|
|
-dynamically linked libraries is that we only need one copy of the library.
|
|
|
|
-If <filename>ls</filename> and <filename>rm</filename> both use the same
|
|
|
|
-library, then we don't need two copies of the
|
|
|
|
-library, as they can both get the code from the same file.
|
|
|
|
|
|
+an actual part of the program, or statically linked, the library is stored
|
|
|
|
+as a separate file, which is loaded only when the program needs it. This
|
|
|
|
+is what we call dynamically linked, as the library is loaded and unloaded
|
|
|
|
+dynamically, as the program needs it.</para>
|
|
|
|
+
|
|
|
|
+<para>So now we have a 1 KB file and a 2.5 MB file, but we still haven't
|
|
|
|
+saved any space (except maybe RAM until the library is needed). The
|
|
|
|
+<emphasis>real</emphasis> advantage of dynamically linked libraries is
|
|
|
|
+that we only need one copy of the library. If <filename>ls</filename> and
|
|
|
|
+<filename>rm</filename> both use the same library, then we don't need two
|
|
|
|
+copies of the library, as they can both get the code from the same file.
|
|
Even when in memory, the two programs share the same code, rather than loading
|
|
Even when in memory, the two programs share the same code, rather than loading
|
|
duplicates into memory. So not only are we saving hard disk space, but also
|
|
duplicates into memory. So not only are we saving hard disk space, but also
|
|
precious RAM.</para>
|
|
precious RAM.</para>
|
|
@@ -42,8 +41,8 @@ available because they are somewhere else in your old directory tree
|
|
(<filename>/usr/lib</filename> for example) which won't be accessible
|
|
(<filename>/usr/lib</filename> for example) which won't be accessible
|
|
from within your LFS root (<filename>$LFS</filename>).</para>
|
|
from within your LFS root (<filename>$LFS</filename>).</para>
|
|
|
|
|
|
-<para>So in order for your new programs to run inside the chroot environment you
|
|
|
|
-need to make sure that the libraries are statically linked when you build
|
|
|
|
|
|
+<para>So in order for your new programs to run inside the chroot environment
|
|
|
|
+you need to make sure that the libraries are statically linked when you build
|
|
them, hence the <userinput>--enable-static-link</userinput>,
|
|
them, hence the <userinput>--enable-static-link</userinput>,
|
|
<userinput>--disable-shared</userinput>, and
|
|
<userinput>--disable-shared</userinput>, and
|
|
<userinput>-static</userinput> flags used
|
|
<userinput>-static</userinput> flags used
|
|
@@ -57,7 +56,7 @@ so that we can take advantage of the space saving opportunities.</para>
|
|
without them, you'll see very quickly what
|
|
without them, you'll see very quickly what
|
|
happens when you chroot into your newly crippled LFS system.</para>
|
|
happens when you chroot into your newly crippled LFS system.</para>
|
|
|
|
|
|
-<para>If you want to know more about Dynamically Linked Libraries, consult a
|
|
|
|
-book or website on programming, especially a Linux-related site.</para>
|
|
|
|
|
|
+<para>If you want to know more about Dynamically Linked Libraries, consult
|
|
|
|
+a book or website on programming, especially a Linux-related site.</para>
|
|
|
|
|
|
</sect1>
|
|
</sect1>
|