2003-01-11 16:24:56 +00:00
|
|
|
<sect2><title> </title><para> </para></sect2>
|
|
|
|
|
2001-01-24 00:31:17 +00:00
|
|
|
<sect2>
|
|
|
|
<title>Installation of Binutils</title>
|
|
|
|
|
2003-06-03 23:25:25 +01:00
|
|
|
<para>It is important that Binutils be the first package to get compiled,
|
|
|
|
because both Glibc and GCC perform various tests on the available linker and
|
|
|
|
assembler to determine which of their own features to enable.</para>
|
|
|
|
|
2001-09-20 02:47:28 +01:00
|
|
|
<para>This package is known to behave badly when you have changed its default
|
2003-01-30 05:06:58 +00:00
|
|
|
optimization flags (including the -march and -mcpu options). Therefore, if
|
|
|
|
you have defined any environment variables that override default
|
|
|
|
optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting or
|
2003-06-03 23:25:25 +01:00
|
|
|
modifying them when building Binutils.</para>
|
2001-09-05 15:13:36 +01:00
|
|
|
|
2003-01-11 16:18:59 +00:00
|
|
|
<para>It is recommended by the Binutils installation documentation to build
|
|
|
|
Binutils outside of the source directory in a dedicated directory:</para>
|
2001-01-24 00:31:17 +00:00
|
|
|
|
2003-01-11 16:18:59 +00:00
|
|
|
<para><screen><userinput>mkdir ../binutils-build
|
|
|
|
cd ../binutils-build</userinput></screen></para>
|
2002-01-30 16:11:56 +00:00
|
|
|
|
2003-01-11 16:18:59 +00:00
|
|
|
<para>Next, prepare Binutils to be compiled:</para>
|
|
|
|
|
2003-05-11 00:48:26 +01:00
|
|
|
<para><screen><userinput>../binutils-&binutils-version;/configure \
|
2003-05-06 20:21:57 +01:00
|
|
|
--prefix=/stage1 --disable-nls</userinput></screen></para>
|
2003-01-11 16:18:59 +00:00
|
|
|
|
2003-06-03 23:25:25 +01:00
|
|
|
<para>The meaning of the configure switches is:</para>
|
2003-01-11 16:18:59 +00:00
|
|
|
|
|
|
|
<itemizedlist>
|
2003-06-03 23:25:25 +01:00
|
|
|
<listitem><para><userinput>--prefix=/stage1</userinput>: This tells the
|
|
|
|
configure script to prepare to install the Binutils programs in the
|
|
|
|
<filename>/stage1</filename> directory.</para></listitem>
|
|
|
|
<listitem><para><userinput>--disable-nls</userinput>: This disables
|
|
|
|
internationalization (a word often shortened to i18n). We don't need this
|
|
|
|
for our static programs and <emphasis>nls</emphasis> often causes problems
|
|
|
|
when linking statically.</para></listitem>
|
2003-01-11 16:18:59 +00:00
|
|
|
</itemizedlist>
|
|
|
|
|
2003-01-11 17:41:17 +00:00
|
|
|
<para>Continue with compiling the package:</para>
|
2003-01-11 16:18:59 +00:00
|
|
|
|
Upgraded to binutils-2.14,
linux-2.4.21, expect-5.38.4, gawk-3.1.3, texinfo-4.6, util-linux-2.12,
man-pages-1.58, lfs-utils-0.3, vim-6.2, gettext-0.12.1, automake-1.7.6,
file-4.03, e2fsprogs-1.34, procps-3.1.11, psmisc-21.3
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2660 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
2003-07-30 20:22:54 +01:00
|
|
|
<para><screen><userinput>make configure-host
|
|
|
|
make LDFLAGS="-all-static"</userinput></screen></para>
|
2001-01-24 00:31:17 +00:00
|
|
|
|
2003-01-11 16:42:50 +00:00
|
|
|
<para>The meaning of the make option is:</para>
|
|
|
|
|
|
|
|
<itemizedlist>
|
2003-06-03 23:25:25 +01:00
|
|
|
<listitem><para><userinput>LDFLAGS="-all-static"</userinput>: This tells
|
|
|
|
the linker that all the Binutils programs should be linked
|
|
|
|
statically.</para></listitem>
|
2003-01-11 16:42:50 +00:00
|
|
|
</itemizedlist>
|
2003-01-11 16:18:59 +00:00
|
|
|
|
2003-06-03 23:25:25 +01:00
|
|
|
<para>And install the package:</para>
|
2003-01-11 17:41:17 +00:00
|
|
|
|
2003-05-11 03:44:11 +01:00
|
|
|
<para><screen><userinput>make install</userinput></screen></para>
|
2003-01-11 17:41:17 +00:00
|
|
|
|
2003-06-03 23:25:25 +01:00
|
|
|
<para>Now already prepare the linker for the "locking in" of
|
|
|
|
<emphasis>glibc</emphasis> later on:</para>
|
|
|
|
|
2003-05-02 19:20:20 +01:00
|
|
|
<para><screen><userinput>make -C ld clean
|
2003-05-11 03:44:11 +01:00
|
|
|
make -C ld LIB_PATH=/stage1/lib</userinput></screen></para>
|
2003-05-02 19:20:20 +01:00
|
|
|
|
2003-06-03 23:25:25 +01:00
|
|
|
<para><emphasis>Do not yet remove</emphasis> the binutils-* directories.
|
|
|
|
We will need them again a bit further on in this chapter.</para>
|
2003-05-02 19:20:20 +01:00
|
|
|
|
2001-01-24 00:31:17 +00:00
|
|
|
</sect2>
|
|
|
|
|