Binutils-2.18 собралась без проблем.
Дальше стало сложнее.
GCC упорно не хотел собираться, да еще и просил gmp и mpfr. Пару дней парил мозг - поставил.
Собирал пакеты так:
Код: Выделить всё
#binutils
CC="gcc -B/usr/bin/" ../binutils-2.18/configure --prefix=/tools --disable-nls --disable-werror
make
make install
make -C ld clean
make -C ld LIB_PATH=/tools/lib
cp -v ld/ld-new /tools/bin
#gmp
CC="gcc -B/usr/bin/" ./configure --prefix=/tools --with-local-prefix=/tools --disable-nls --disable-werror
make
make install
#mpfr
CC="gcc -B/usr/bin/" ./configure --prefix=/tools --with-local-prefix=/tools --disable-nls --disable-werror
make
make install
#gcc
CC="gcc -B/usr/bin/" ../gcc-4.3.0/configure --prefix=/tools --with-local-prefix=/tools --with-gmp=/tools --with-mpfr=/tools --disable-nls --enable-shared --enable-languages=c --with-ld=/tools/bin/ld
make bootstrap
make install
ln -vs gcc /tools/bin/ccа вот glibc-2.7 собираться не хочет упорно. По книжке конфигурируется так:
сначала надо установить заголовки будущего ядра
Код: Выделить всё
make mrproper
make headers_check
make INSTALL_HDR_PATH=dest headers_install
cp -rv dest/include/* /tools/includeпотом, собственно, сам glibc
--disable-profile --enable-add-ons --enable-kernel=2.6.0 --with-binutils=/tools/bin --without-gd --with-headers=/tools/include --without-selinux
если все делаю так, то на этапе make вылазит ошибка типа could not find limits.h, даже если указать на заголовки в /usr
Я проверял: в папке он есть.
Если вообще не писать --with-headers=/tools/include, то компилится до определенного момента, а потом опять ошибка какая-то, точно не помню.
Вот, собственно говоря, сама ошибка:
Код: Выделить всё
mnt/rtl/sources/glibc-build/tcb-offsets.h.d /mnt/rtl/sources/glibc-build/tcb-offsets.h'
In file included from ../nptl/sysdeps/pthread/allocalim.h:21,
from ../include/alloca.h:20,
from ../stdlib/stdlib.h:497,
from ../include/stdlib.h:8,
from ../nptl/sysdeps/i386/i686/../tls.h:28,
from ../nptl/sysdeps/i386/i686/tls.h:34,
from ../include/tls.h:6,
from ../sysdeps/unix/sysv/linux/i386/sysdep.h:30,
from <stdin>:1:
../include/limits.h:125:26: error: limits.h: No such file or directory
make[2]: *** [/mnt/rtl/sources/glibc-build/tcb-offsets.h] Error 1
make[2]: Leaving directory `/mnt/rtl/sources/glibc-2.7/csu'
make[1]: *** [csu/subdir_lib] Error 2
make[1]: Leaving directory `/mnt/rtl/sources/glibc-2.7'
make: *** [all] Error 2