Balíček Binutils obsahuje liner,asembler a ostatní nástroje pro manipulaci s objektovými soubory.
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 Binutils.
Zkountrolujte,že PTY pracují v prostředí chrootu pomocí jednoduchého testu:
expect -c "spawn ls"
Pokud se ukáže následující zpráva,prostředí chrootu není nastaveno pro správnou práci PTY:
The system has no more ptys. Ask your system administrator to create more.
Tento problém musíte vyřešit před spuštěním testů Binutils a GCC.
Dokumntace Binutil doporučuje kompilaci Binutuls mimo adresář se zdroji v oddělené kompilační složce:
mkdir ../binutils-build cd ../binutils-build
Připravte Binutils ke kompilaci:
../binutils-2.15.94.0.2.2/configure --prefix=/usr \
--enable-sharedZkompilujte balíček:
make tooldir=/usr
Obvykle je tooldir(adresář,kde se nacházejí spustitelné soubory) nastaven na $(exec_prefix)/$(target_alias).Např.: u počítačů i686 je to /usr/i686-pc-linux-gnu.Protože toto je přizpůsobený systém,tento speciální adresář není potřeba.Adresář $(exec_prefix)/$(target_alias) se používá,pokud je systém použit ke cross-kompilaci(např.: kompilace balíčku na Intelu pro spouštění na platformě PowerPC).
![[Important]](../images/important.png)
Test Binutils je kritický.Za žádných okolností jej nevynechávejte.
Otestujte výsledky:
make check
Nainstalujte balíček:
make tooldir=/usr install
Nainstalujte hlavičkový soubor libiberty,který je potřebný některými balíčky:
cp ../binutils-2.15.94.0.2.2/include/libiberty.h /usr/include