|
|
  |
Сборка arm-elf-gcc |
|
|
|
Mar 8 2007, 19:58
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(forever failure @ Mar 8 2007, 15:50)  checking for C compiler default output file name... configure: error: C compiler cannot create executables Ниче страшного. это стандартная ситуация. Обычно это когда ld не находит объектники crt1.a .. итд - если собирается кроскомпиллер, или другие если собираются библы для целевой платформы. Бывает это потому что обычно сборочный скрипт оперирует абсалютными путями при сборке и низнает где что лежит. 1. Смотреть что именнно линкер ненашол - см. файл лога в папке которая конфигурится и где затык произашел. там написано где он споткнулся и почему. 2. узнав что он ненашел для линковки засунутть "'это" туда где он искал. ИЛИ в параметрах configure указать дополнительные пути к библам которые он ненашел. Я обычно файлы перекидываю туда где он их пытается найти - просто быстрее. От снапшота к снапшоту подобные выкрутасы меняются множатся и многообразятся - поэтому сборка GCC это ЭскустВО!! потрахаешся и через какоето время начнеш чуствовать где унего затыки при сборке происходят. опыт на. Без шаманства собирается только для ix86 - очень много тестеров  а вот под наших пациентов значительно меньше.
|
|
|
|
|
Mar 10 2007, 14:11
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112

|
Попробовал собрать версию 3.4.6. Уже - лучше - сишный компилятор собрался, правда плюсовый собираться всё равно отказался на этапе сборки libstdc++.
Вопрос про ось интересный - у меня SuSE Linux 9.2 как уже было выше отмечено, ядро 2.6.8-24-smp, родное, с дистрибутива, gcc - тоже родной, версия : 3.3.4 (pre 3.3.5 20040809). В связи с этим возникло два вопроса: 1. Такого рода проблемы наблюдаются при сборке по любой осью ? 2. Есть возможность собирать под FreeBSD 6.0 или Solaris 10. Стоит попробовать ? (честно говоря, мне бы хотелось научится решать такие проблемы в принципе, а не просто раз как-нибудь собрать, и потом забыть как это делается).
|
|
|
|
|
Mar 11 2007, 11:46
|

бессмертным стать можно тремя способами
    
Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912

|
Цитата(forever failure @ Mar 10 2007, 14:11)  Попробовал собрать версию 3.4.6. Уже - лучше - сишный компилятор собрался, правда плюсовый собираться всё равно отказался на этапе сборки libstdc++.
Вопрос про ось интересный - у меня SuSE Linux 9.2 как уже было выше отмечено, ядро 2.6.8-24-smp, родное, с дистрибутива, gcc - тоже родной, версия : 3.3.4 (pre 3.3.5 20040809). В связи с этим возникло два вопроса: 1. Такого рода проблемы наблюдаются при сборке по любой осью ? 2. Есть возможность собирать под FreeBSD 6.0 или Solaris 10. Стоит попробовать ? (честно говоря, мне бы хотелось научится решать такие проблемы в принципе, а не просто раз как-нибудь собрать, и потом забыть как это делается). Проблемы будут всегда. Во всяком случае у меня поскольку собираю кроскомпиллер под MinGW(под ней мало тестися чтолибо вообще). А вот под линухом должно все влет собиратся. Наверно просто в Вашей системе КРИВО установлен пакет разработчика (tools chains), переустановите пакет и поглядите че будет. Я ж говорил выше, что 1.смотри логи 2.правь ручками. 3.получи счасье
|
|
|
|
|
Mar 11 2007, 16:11
|

Местный
  
Группа: Свой
Сообщений: 304
Регистрация: 5-07-04
Из: г. Москва
Пользователь №: 259

|
Цитата(forever failure @ Mar 11 2007, 14:27)  Гугль, как всегда, рулит. Правильные ключи конфигурирования: ../gcc-3.4.6/configure --target=arm-elf --prefix=$HOME/local --enable-languages="c,c++" --enable-threads --with-newlib --enable-multilink --enable-interwork
Правда вопрос с версией 4.1.1 пока открыт. avr-gcc(++) у меня собрался из 3.4.6 версии сразу, из 4.1.1 тоже не захотел. Может SUSE староват? В 10.2 gcc 4.1.1 или 4.1.2
--------------------
Водку пьянствовать и безобразия нарушать!!!
|
|
|
|
|
Mar 11 2007, 17:27
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112

|
Может и староват, кстати, вполне реально. SuSE 9.2 2004 года выпуска, а компилятор ещё старше.
Пока возникла новая проблема - на этот раз, движемся дальше, - gdb. Собираю тренировочный хелловорлд, с дебажной информацией, гружу его в arm-elf-gdb, подключаюсь в симулятор и по команде run (или start) происходит такая фигня:
/src/test> arm-elf-gdb arm.elf GNU gdb 6.6 Copyright © 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf"... (gdb) target sim Connected to the simulator. (gdb) break main Breakpoint 1 at 0x8228: file test.cpp, line 6. (gdb) run Starting program: /home/sprog/src/test/arm.elf warning: No program loaded. Segmentation fault
Есть какие-нить идеи по поводу решения этой проблемы ?
|
|
|
|
|
Mar 12 2007, 01:05
|
Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 18-12-04
Из: Минск
Пользователь №: 1 550

|
Цитата(forever failure @ Mar 8 2007, 14:50)  Пытаюсь собрать компилятор и на этапе компиляции libssp получаю такую ошибку:
checking for C compiler default output file name... configure: error: C compiler cannot create executables
В чём тут может быть причина ? У меня: ОС - SuSE Linux 9.2; компилятор собирающий - gcc 3.3.4; собираемый - gcc 4.1.1;binutils - 2.17; ключи configure: --target=arm-elf --prefix=$HOME/local --enable-interwork --enable-multilib --enable-languages="c" --with-headers=../newlib-1.15.0/newlib/libc/include
Причём, при сборке gcc версии 3.4.4 и binutils 2.15 возникала таже ошибка. Ребята не изобретайте велосипед! Если arm-linux система с uCLinux тогда http://buildroot.uclibc.org/если с glibc тогда: http://kegel.com/crosstool/Вы еще на этапе компилера застряли - а вам еще предстоит с glibc/uclibc повозиться Вышеупомянутые сслыки сделают все за вас
--------------------
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|