Всем привет.
Возникла необходимость собрать кросс gcc.
В инете везде написан следующий алгоритм:
1. Компилирование binutils под целевую систему
2. Компиляция gcc, с отключенными опциями (отключены потоки --disable-threads, отключены все языки помимо c и т.п.)
3. Компиляция glibc под целевую платформу
4. Компиляция gcc с необходимыми функциями
Возникает ряд вопросов:
1. Зачем выполнять шаг 2, если можно выполнить сразу шаг 4, а затем уже шаг 3?
2. при конфигурации glibc существует параметр --with-headers=... Непонятно какие headers здесь указывать и вообще надо ли их указывать?
3. аналогичный параметр есть и при конфигурации gcc. Зачем же он все таки нужен?
Если знаете, помогите плииз!
компиляциия кросс компилятора gcc (нужен gcc, чтобы на обычной машине можно было собирать под powerpc-88x)
Модератор: Модераторы разделов
-
cy6erGn0m
- Сообщения: 119
- ОС: MandrivaLinux/Solaris 10
Re: компиляциия кросс компилятора gcc
Нельзя выполнить шаг четыре, потому что шаг четыре требует наличие glibc, а её нет. Стало быть её надо собрать (шаг три), но чтобы это сделать нужен хоть какой-то gcc. Потому и делают шаг 2.
2. Речь о заголовках ядра. В инструкциях по сборее gcc cross toolchain всегда описывается шаг по их извлечению
2. Речь о заголовках ядра. В инструкциях по сборее gcc cross toolchain всегда описывается шаг по их извлечению
I want to Believe!
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
-
cy6erGn0m
- Сообщения: 119
- ОС: MandrivaLinux/Solaris 10
Re: компиляциия кросс компилятора gcc
Вот давно натыкался на статью одну на русском, очередная пошаговая инструкция.
http://mdf-i.blogspot.com/2008/01/arm-linux-toolchain.html
http://mdf-i.blogspot.com/2008/01/arm-linux-toolchain.html
I want to Believe!
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
-
andrey293
- Сообщения: 7
Re: компиляциия кросс компилятора gcc
Спасибо за ответы
1. Зачем для компиляции gcc нужен gllibc?
glibc - рантайм библиотека C, необходима для исполнения приложений. Для компиляции приложений она не нужна, подключается только на этапе линковки.
Я выполнил шаг 1 и шаг 4 - компилятор нормально собрался.
2. "Речь о заголовках ядра." как понял заголовки ядра целевой машины.
В моем случае это специальная сборка:
Linux version 2.4.26 (Synel@Drivers version 1.5) (gcc version 3.3.3) #Suul 8 16:53:58 JDT 2007
Надо трясти разработчиков или можно взять стандартные заголовки ядра 2.4.26?
1. Зачем для компиляции gcc нужен gllibc?
glibc - рантайм библиотека C, необходима для исполнения приложений. Для компиляции приложений она не нужна, подключается только на этапе линковки.
Я выполнил шаг 1 и шаг 4 - компилятор нормально собрался.
2. "Речь о заголовках ядра." как понял заголовки ядра целевой машины.
В моем случае это специальная сборка:
Linux version 2.4.26 (Synel@Drivers version 1.5) (gcc version 3.3.3) #Suul 8 16:53:58 JDT 2007
Надо трясти разработчиков или можно взять стандартные заголовки ядра 2.4.26?
-
agreed
- Сообщения: 143
- ОС: Fedora 10, Mac OS X 10.5
Re: компиляциия кросс компилятора gcc
Не знаю, актуально ещё или нет...
Буквально две недели назад тоже собирал кросстулкит. И тоже под PPC, правда под 750-й.
В этом в очередной раз выручил вот этот набор: http://www.kegel.com/crosstool/
Осваивается за 15 минут, тулкит собирается автоматически за час.
Буквально две недели назад тоже собирал кросстулкит. И тоже под PPC, правда под 750-й.
В этом в очередной раз выручил вот этот набор: http://www.kegel.com/crosstool/
Осваивается за 15 минут, тулкит собирается автоматически за час.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: компиляциия кросс компилятора gcc
не могу не намекнуть на проект emdebian:
http://www.emdebian.org/tools/crosstools.html
есть вагон готовых toolchain-ов, есть и средства, упрощающие (как и принято в debian) сборку собственных: http://www.emdebian.org/tools/crossdev.html
«освоения» не требуется, можно просто следовать весьма коротким инструкциям.
http://www.emdebian.org/tools/crosstools.html
есть вагон готовых toolchain-ов, есть и средства, упрощающие (как и принято в debian) сборку собственных: http://www.emdebian.org/tools/crossdev.html
«освоения» не требуется, можно просто следовать весьма коротким инструкциям.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
ormorph
- Сообщения: 3335
- ОС: Gentoo
Re: компиляциия кросс компилятора gcc
на счет заголовочников вот вырезка из HOWTO по LFS 4.0 на ядро ветки 2.4
не мешало бы почитать это HOWTO. есть описание и на русском.
ну и можно использовать для сборки уже готовые пакеты исходников от LFS.
Только если делаешь под платформу, отличную от той, на которой находишься, можно немного подправить файл Makefile: принудительно прописать переменную ARCH например ARCH :=ppc
Код: Выделить всё
make mrproper &&
make include/linux/version.h &&
make symlinks &&
mkdir /usr/include/asm &&
cp include/asm/* /usr/include/asm &&
cp -R include/asm-generic /usr/include &&
cp -R include/linux /usr/include &&
touch /usr/include/linux/autoconf.hне мешало бы почитать это HOWTO. есть описание и на русском.
ну и можно использовать для сборки уже готовые пакеты исходников от LFS.
Только если делаешь под платформу, отличную от той, на которой находишься, можно немного подправить файл Makefile: принудительно прописать переменную ARCH например ARCH :=ppc
-
cy6erGn0m
- Сообщения: 119
- ОС: MandrivaLinux/Solaris 10
Re: компиляциия кросс компилятора gcc
andrey293 писал(а): ↑27.05.2009 08:38Спасибо за ответы
1. Зачем для компиляции gcc нужен gllibc?
glibc - рантайм библиотека C, необходима для исполнения приложений. Для компиляции приложений она не нужна, подключается только на этапе линковки.
Я выполнил шаг 1 и шаг 4 - компилятор нормально собрался.
Чудес не бывает. Нельзя собрать полность готовый тулчейн. Шаг 4 нельзя выполнить без 3. Если выполнилось, значит что-то не то собрали. Попробуйте этот gcc который получился, он наврняка генерирует что-то не то.
По поводу уже готовых кросскомпиляторов. Действительно, кегель вполне рабочая штука. emdebian и openembedded тоже никто не отменял.
I want to Believe!
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/
They must find it difficult...
Those who have taken authority as the truth,
Rather than trusth as the authority.
/G.Messey/