Проблема такая при сборке кросс компилятора что-то не получается.
Сама компиляция gcc вроде проходит (куча строк вроде без ошибок) но в итоговой директории нет mips-elf-gcc
есть только вот такие файлы
mips-elf-gccbug
mips-elf-gcov
mips-elf-jv-scan
mips-elf-gcj
mips-elf-gdb
mips-elf-mips-elf-gcj
mips-elf-gcjh
mips-elf-jcf-dump
mips-elf-run
**************************************************************
моя система
ОС ASPLinux 9
binutils-2.14.90.0.6
gcc-3.3.1
gdb-5.3.90-20030710
newlib-1.11.0
**************************************************************
скрипт которым я пользуюсь
***************************************************************
cd /usr/src/cross-gcc
host=i686-linux
target=mips-elf
prefix=/usr/cross-gcc/bin
i=$prefix/bin
mkdir build-binutils build-gcc build-newlib build-gdb
# Configure, build and install binutils
cd build-binutils
../binutils/configure --target=$target --prefix=$prefix -v
make all
make install
# Configure, build and install gcc
cd ../build-gcc
../gcc/configure --target=$target --prefix=$prefix -v --with-gnu-as --with-gnu-ld
make all
make install
# Configure, build and install newlib
cd ../build-newlib
../newlib/configure --target=$target --prefix=$prefix -v
# The settings for FOO_FOR_TARGET aren't necessary if you put $prefix/bin
# in your path before running this.
make all
make install \
CC_FOR_TARGET=$i/${target}-gcc \
AS_FOR_TARGET=$i/${target}-as \
LD_FOR_TARGET=$i/${target}-ld \
AR_FOR_TARGET=$i/${target}-ar \
RANLIB_FOR_TARGET=$i/${target}-ranlib
# Configure, build and install gdb
cd ../build-gdb
../gdb/configure --target=$target --prefix=$prefix -v
make all
make install
***************************************************************
Заранее спасибо.
Шаг 1. Установить gcc под текущую платформу
1.1. cкачать GCC c
http://gcc.gnu.org (на момент написания последня версия 4.0.1 — файл
gcc-4.0.1.tar.gz2)
1.2. распаковать архив в какую-нибудь папку (я использовал
/install/gcc-4.0.1)
1.3. создать папку для сборки — я делал:
md /install/gcc-build
1.4. перейти в созданную папку:
cd /install/gcc-build
1.5. сконфигурировать make файл, который будет использоваться для сборки:
/install/gcc-4.0.1/configure
(текущая папка должна быть
/install/gcc-build)
по умолчанию папка для установки
--prefix=/usr/local,
но можно поставить в другую папку путем:
/install/gcc-4.0.1/configure --prefix=[other-folder][/b]
где [other-folder] — другая папка для установки.
1.6. после того как пройдет этап конфигурации — вызвать
[b]make all
(текущая папка должна быть
/install/gcc-build)
1.7. произвести инсталяцию командой
make install
(текущая папка должна быть
/install/gcc-build)
1.8. в случае если все прошло успешно, gcc поставится в
/usr/local папку (или в ту что указана в --prefix=[other-folder])
1.9. проверить что все встало — вызывать:
gcc --version
Шаг 2. binutils
2.1. скачать binutils с
http://www.gnu.org —
http://directory.fsf.org/GNU/binutils.html (на момент написания последняя версия 2.16.1 — файл
binutils-2.16.1.tar.gz)
2.2. распаковать архив в какую-нибудь папку (я использовал
/install/binutils-2.16.1)
2.3. создать папку для сборки — я делал:
md /install/binutils-build
2.4. перейти в папку для сборки:
cd /install/build
2.5. ссконфигурировать make файл, который будет использоваться для сборки:
/install/binutils-2.16.1/configure --target=mips-elf --prefix=/usr/local/ --enable-interwork --enable-multilib
(текущая папка должна быть
/install/binutils-build)
2.6. после того как пройдет этап конфигурации — вызвать
make all
2.7. произвести инсталяцию командой
make install
2.8. в случае если все прошло успешно, появятся
/usr/local/mips-elf и файлы в
/usr/local/bin/mips-elf-*
Шаг 3. gcc для mips-elf
3.1. скачать newlibs
http://sources.redhat.com/newlib/ (на момент написания последня версия 1.13.0 — файл
newlib-1.13.0.tar.gz)
3.2. распаковать архив в какую-нибудь папку (я использовал
/install/newlib-1.13.0)
3.3. очистить папку /install/gcc-build от данных предъидущей сборки (в п.1)
3.2. зайти в
/install/gcc-build
cd /install/gcc-build
3.3. сконфигурировать make файл, который будет использоваться для сборки:
/install/gcc-4.0.1/configure --target=mips-elf --prefix=/usr/local --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --with-headers=/install/newlib-1.13.0/newlib/libc/include
(текущая папка должна быть
/install/gcc-build)
3.4. Собрать и установить gcc:
make all-gcc install-gcc
(текущая папка должна быть
/install/gcc-build)
Шаг 4. newlib
4.1. создать папку для сборки newlib (я использовал
/install/newlib-build)
md /install/newlib-build
4.2. перейти в созданную папку:
cd /install/newlib-build
4.3. сконфигурировать make файл, который будет использоваться для сборки:
/install/newlib-1.13.0/configure --target=mips-elf --prefix=/usr/local/ --enable-interwork --enable-multilib
4.4. после того как пройдет этап конфигурации — вызвать, что бы провести сборку и инсталляцию:
make all install
(текущая папка должна быть
/install/newlib-build)
Шаг 5. Снова gcc, остальное
5.1. Перейти в папку для сборки gcc (
/install/gcc-build)
cd /install/gcc-build
5.2. Докомпелить gcc:
make all install
(текущая папка должна быть
/install/gcc-build)
6. GNU Debugger — gdb
6.1. скачать gdb с
http://www.gnu.org/software/gdb/gdb.html (на момент написания последня версия 6.3 — файл
gdb-6.3.tar.gz)
6.2. распаковать архив в какую-нибудь папку (я использовал
/install/gdb-6.3)
6.3. создать папку для сборки — я делал:
md /install/gdb-build
6.4. перейти в папку для сборки:
cd /install/gdb-build
6.5. сконфигурировать make файл, который будет использоваться для сборки:
/install/gdb-6.3/configure --target=mips-elf --prefix=/usr/local --enable-interwork --enable-multilib
6.7. после того как пройдет этап конфигурации — вызвать, что бы провести сборку и инсталляцию:
make all install
p.s. Может кому-то покажется сие элементарным — писал инструкцию для чайников в gcc — коим сам и являюсь.