source: chapter05/gcc-exp.xml@ 2391122c

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 12.2 12.2-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/loongarch-12.2 xry111/mips64el xry111/multilib xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 2391122c was ac68bd3, checked in by Gerard Beekmans <gerard@…>, 22 years ago

added fixincludes explanation

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

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