source: chapter05/gcc-exp.xml@ 2b91f12

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 2b91f12 was 8f93b15, checked in by Timothy Bauscher <timothy@…>, 22 years ago

o Updated to binutils-2.13.2, procps-3.1.5.
o Made all LDFLAGS=-static LDFLAGS="-static".
o Added symlink from libfl.a to libl.a.

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

  • Property mode set to 100644
File size: 1.6 KB
Line 
1<sect2>
2<title>Command explanations</title>
3
4<para><userinput>patch -Np1 -i ../gcc-3.2-nofixincludes-2.patch:</userinput>
5This prevents the fixincludes script from running. This is needed because
6under normal circumstances the GCC installation will run the fixincludes
7scripts which scans your system for header files that need to be fixed. Say
8it finds Glibc header files. It will fix them and will end up in
9$LFS/static/lib/gcc-lib/i686-pc-linux-gnu/3.2. Later on in chapter 6 you
10will install Glibc which will install header files in /usr/include. Next
11you will install other programs which will use Glibc headers. GCC will look
12in /static/lib/gcc-lib before looking in /usr/include, whichhas the result
13of Glibc header files from your host distribution being found and used which
14are probably incompatible with the Glibc version actually in use on the LFS
15system.</para>
16
17<para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
18codes some paths while compiling and so we need to pass /static as the
19prefix during ./configure. We pass the real install prefix during the
20make install command later.</para>
21
22<para><userinput>echo "#define HAVE_GAS_HIDDEN 1":</userinput>
23This defines the .hidden assembler directive so that we don't build
24a faulty Glibc later on.</para>
25
26<para><userinput>make BOOT_LDFLAGS="-static":</userinput>
27This is the equivalent to make LDFLAGS="-static" as we use with other
28packages to compile them statically.</para>
29
30<para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
31creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
32
33</sect2>
Note: See TracBrowser for help on using the repository browser.