source: chapter06/binutils-inst.xml@ 8dc214d

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 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 8dc214d was b7d9d404, checked in by Timothy Bauscher <timothy@…>, 21 years ago

Converted m4, bison, less, groff, textutils, sed, flex, binutils, fileutils, shellutils, gettext and net-tools to new layout.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2353 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.0 KB
RevLine 
[b7d9d404]1<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
2
[6370fa6]3<sect2><title>Installation of Binutils</title>
4
[28360cb]5<para>This package is known to behave badly when you have changed its
[e69a59f]6default optimization flags (including the -march and -mcpu options). Binutils
[2c094d6]7is best left alone. Therefore, if you have defined any environment variables
[e69a59f]8that override default optimizations, such as CFLAGS and CXXFLAGS, we
[2c094d6]9recommend unsetting or modifying them when building binutils. You have
[e69a59f]10been warned.</para>
[b43aab1]11
[b7d9d404]12<para>It is recommended by the Binutils installation documentation to build
13Binutils outside of the source directory. Create the build directory:</para>
[6370fa6]14
[d6bc819]15<para><screen><userinput>mkdir ../binutils-build &amp;&amp;
[b7d9d404]16cd ../binutils-build</userinput></screen></para>
17
18<para>Next, prepare Binutils to be compiled:</para>
19
20<para><screen><userinput>../binutils-&binutils-version;/configure --prefix=/usr --enable-shared</userinput></screen></para>
21
22<para>Continue with compiling the package:</para>
23
24<para><screen><userinput>make tooldir=/usr</userinput></screen></para>
25
26<para>Normally, the <emphasis>tooldir</emphasis> (the directory where the
27executables end up) is set to $(exec_prefix)/$(target_alias) which expands
28into, for example, /usr/i686-pc-linux-gnu. Since we only build for our
29own system, we don't need this target specific directory in /usr. That
30setup would be used if the system was used to cross-compile (for example
31compiling a package on the Intel machine that generates code that can be
32executed on Apple PowerPC machines).</para>
33
34<para>Install the package:</para>
35
36<para><screen><userinput>make tooldir=/usr install</userinput></screen></para>
37
38<para>Install the info pages:</para>
39
40<para><screen><userinput>make tooldir=/usr install-info</userinput></screen></para>
41
42<para>Some packages require the <emphasis>libiberty</emphasis> header
43in order to build. To honor those packages, install the file:</para>
44
45<para><screen><userinput>cp ../binutils-&binutils-version;/include/libiberty.h /usr/include</userinput></screen></para>
[6370fa6]46
47</sect2>
48
Note: See TracBrowser for help on using the repository browser.