реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Сборка arm-elf-gcc
forever failure
сообщение Mar 8 2007, 15:50
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Пытаюсь собрать компилятор и на этапе компиляции 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 возникала таже ошибка.
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 8 2007, 19:58
Сообщение #2


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 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 - очень много тестеров smile.gif а вот под наших пациентов значительно меньше.
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 9 2007, 08:28
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



По логам не находит crt0.o Теперь вопрос, где найти то, что он не нашёл т. е. этот файл?
Библиотеки пока не установлены, где он может быть ещё?
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 10 2007, 11:30
Сообщение #4


бессмертным стать можно тремя способами
*****

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



А под какой ОС компилируете?
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 10 2007, 14:11
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 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. Стоит попробовать ?
(честно говоря, мне бы хотелось научится решать такие проблемы в принципе, а не просто раз как-нибудь собрать, и потом забыть как это делается).
Go to the top of the page
 
+Quote Post
klen
сообщение Mar 11 2007, 11:46
Сообщение #6


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 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.получи счасье smile.gif
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 11 2007, 14:27
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Гугль, как всегда, рулит. Правильные ключи конфигурирования:
../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 тоже не захотел.
Go to the top of the page
 
+Quote Post
v_shamaev
сообщение Mar 11 2007, 16:11
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 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


--------------------
Водку пьянствовать и безобразия нарушать!!!
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 11 2007, 17:27
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 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

Есть какие-нить идеи по поводу решения этой проблемы ?
Go to the top of the page
 
+Quote Post
vanokuten
сообщение Mar 12 2007, 01:05
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 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 повозиться
Вышеупомянутые сслыки сделают все за вас


--------------------
Go to the top of the page
 
+Quote Post
vanokuten
сообщение Mar 12 2007, 13:39
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 116
Регистрация: 18-12-04
Из: Минск
Пользователь №: 1 550



/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

-------------------------------------------------------

Используйте skyeye!!!


--------------------
Go to the top of the page
 
+Quote Post
forever failure
сообщение Mar 12 2007, 18:28
Сообщение #12


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112



Собрал gdb 6.5 версии. Симптомы исчезли, сейчас более детально смотрю на предмет возможных глюков.
В общем, продвигаемся дальше, полёт нормальный.

ЗЫ. Мосье Ванокутен, Ваши рекомендации выглядят несколько невпопад, читайте внимательно тему.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01463 секунд с 7
ELECTRONIX ©2004-2016