Помогите собрать кросс компилятор gcc
От: SOLVKOM  
Дата: 21.10.03 18:12
Оценка:
Проблема такая при сборке кросс компилятора что-то не получается.
Сама компиляция 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
***************************************************************

Заранее спасибо.
Re: Помогите собрать кросс компилятор gcc
От: Аноним  
Дата: 21.07.05 23:09
Оценка: 3 (1)
Шаг 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.orghttp://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 — коим сам и являюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.