6.14. GCC-3.4.3

Balíček gcc obsahuje kolekci kompileru GNU(GNU compiler collection),která zahrnuje kompilery C a C++

Průměrný čas kompilace: 11.7 SBU
Potřebné volné místo: 451 MB
Instalace závisí na: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, and Texinfo

6.14.1. Instalace GCC

O tomto balíčku je známo,že má problémy,pokud jsou jeho výchozí optimalizační příznaky(včetně -march a -mcpu voleb)změněné.Pokud nějaké proměnné prostředí přepisují tyto výchozí optimalizace jako CFLAGS a CXXFLAGS,odstraňte je při kompilaci GCC.

Použijte pouze patch No-Fixincludes (nikoli Specs patch) také použitý v minulé kapitole:

patch -Np1 -i ../gcc-3.4.3-no_fixincludes-1.patch

GCC selže při kompilaci některých balíčků mimo záladní instalaci Linux From Scratch (jako Mozilla a kdegraphics),pokud je použita s novou verzí Binutils.Aby jste tento problém odstranili,aplikujte následující patch:

patch -Np1 -i ../gcc-3.4.3-linkonce-1.patch

Použijte substuci sedu,která zabrání instalaci souboru libiberty.a.Místo toho je použita verze souboru libiberty.a z Binutils:

sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in

Dokumentace GCC doporučuje kompilaci GCC mimo složky se zdroji v oddělené kompilační složce:

mkdir ../gcc-build
cd ../gcc-build

Připravte GCC ke kompilaci:

../gcc-3.4.3/configure --prefix=/usr \
    --libexecdir=/usr/lib --enable-shared \
    --enable-threads=posix --enable-__cxa_atexit \
    --enable-clocale=gnu --enable-languages=c,c++

Zkompilujte balíček:

make
[Important]

Important

V tétoi sekci jsou testy GCC velmi důležité.Za žádných okolností je nevynechávejte.

Otestujte výsledky,ale nezastavujte se na chybách:

make -k check

Některé chyvy jsou známé a byly zmíněné v předchozí kapitole.Poznámky k testů, z Section 5.11, “GCC-3.4.3 - 2. průchod,” jsou zde stále relevantní.Pokud potřebujete,tak se na ně znova podívejte.

Nainstalujte balíček:

make install

Některé balíčky očekávají C preprocesor nainstalovaný v adresáři /lib.Pro tyto balíčky udělejte tento symbolický odkaz:

ln -s ../usr/bin/cpp /lib

Hodně balíčků používá jméno cc k volání kompileru C.Pro tyto balíčky udělejte symbolický odkaz:

ln -s gcc /usr/bin/cc
[Note]

Note

V této chvíli je silně doporučeno zopakovat test,vykonaný dříve v této kapitole.Podívejte se zpět na Section 6.12, “Znovu přízpůsobujeme nástroje,” a zopakujte je.Pokud je chybný,nejčastějším důvodem je,že jste zde špatně aplikovali GCC Specs patch.

6.14.2. Obsah GCC

Nainstalované programy: c++, cc (link to gcc), cpp, g++, gcc, gccbug, and gcov
Nainstalované knihovny: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so], and libsupc++.a

Krátký popis

cc

Kompiler C

cpp

C preprocesor;je použit kompilerem k expanzi #include, #define, a podobných příkazů ve zdrojových souborech

c++

Kompiler C++

g++

Kompiler C++

gcc

Kompiler C

gccbug

Shellový skript pomáhající vytvořit užitečné hlašení chyb

gcov

Obalující testovací nástroj;je použit k analýze prgramů k odhalení,kde budou mít optimalizace největší efekt

libgcc

Obsahuje podporu run-time pro gcc

libstdc++

Standardní knihovna C++

libsupc++

Nabízí rutiny podpory pto programovací jazyk C++