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
Rev | Line | |
---|
[6370fa6] | 1 | <sect2>
|
---|
| 2 | <title>Command explanations</title>
|
---|
| 3 |
|
---|
[2c094d6] | 4 | <para><userinput>--prefix=/static:</userinput> This is NOT a typo. GCC hard
|
---|
[da20dc6] | 5 | codes some paths while compiling and so we need to pass /static as the
|
---|
[2c094d6] | 6 | prefix during ./configure. We pass the real install prefix during the
|
---|
[f36a666] | 7 | make install command later.</para>
|
---|
| 8 |
|
---|
[8b8f29ab] | 9 | <para><userinput>--with-as and --with-ld:</userinput> GCC can be
|
---|
| 10 | miscompiled if your host distribution's Binutils package is quite old. We
|
---|
| 11 | need a good working static GCC until we reinstall GCC later in chapter 6.
|
---|
| 12 | So by using <filename>as</filename> and <filename>ld</filename> from the
|
---|
| 13 | Binutils package we just compiled we ensure that GCC will work
|
---|
| 14 | correctly.</para>
|
---|
[6f9d1a9] | 15 |
|
---|
[8f93b15] | 16 | <para><userinput>make BOOT_LDFLAGS="-static":</userinput>
|
---|
| 17 | This is the equivalent to make LDFLAGS="-static" as we use with other
|
---|
[6f9d1a9] | 18 | packages to compile them statically.</para>
|
---|
[fde5bc7] | 19 |
|
---|
[8b8f29ab] | 20 | <para><userinput>make install-no-fixedincludes:</userinput>
|
---|
| 21 | This prevents the fixed header files from being installed. This is needed
|
---|
| 22 | because under normal circumstances the GCC installation will run the
|
---|
| 23 | fixincludes scripts which scans your system for header files that need to be
|
---|
| 24 | fixed. Say it finds Glibc header files. It will fix them and will end up in
|
---|
| 25 | $LFS/static/lib/gcc-lib/i686-pc-linux-gnu/ Later on in chapter 6 you
|
---|
| 26 | will install Glibc which will install header files in /usr/include. Next
|
---|
| 27 | you will install other programs which will use Glibc headers. GCC will look
|
---|
| 28 | in /static/lib/gcc-lib before looking in /usr/include, which has the result
|
---|
| 29 | of Glibc header files from your host distribution being found and used which
|
---|
| 30 | are probably incompatible with the Glibc version actually in use on the LFS
|
---|
| 31 | system.</para>
|
---|
| 32 |
|
---|
[c18d261] | 33 | <para><userinput>ln -s gcc $LFS/static/bin/cc:</userinput> This
|
---|
[695ae0bc] | 34 | creates the $LFS/static/bin/gcc symlink, which some packages need.</para>
|
---|
[6370fa6] | 35 |
|
---|
| 36 | </sect2>
|
---|
Note:
See
TracBrowser
for help on using the repository browser.