Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сборка программы под Linux. 
:(
    Опции темы
OlegIT
Дата 20.10.2011, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



На PC установил «Debian GNU/Linux 6.0.2.1 "Squeeze" - Official i386 DVD Binary-1 20110626-15:45». Использовал ручную установку, отметил установить всё. Но man gcc не установился. Скачал его с инета.
Начал разработку программ под Linux с самой простой Test_1.c с таким текстом
int main(void){ return 0; }.
Запустил на компиляцию dv@oleg-it:~$ gcc -c -o ./Test_1.o ./Test_1.c. Всё нормально, файл Test_1.o создался.
Программы собираюсь писать под ARM, ставлю опцию компилятора для своего ARM (ARM926EJ-S).
Запускаю компиляцию (получаю ошибку)
dv@oleg-it:~$ gcc -cpu=arm926ej-s -c -o ./Test_1.o ./Test_1.c
gcc: unrecognized option '-cpu=arm926ej-s'

Запускаю так (опять не так)
dv@oleg-it:~$ gcc -mcpu=arm926ej-s -c -o ./Test_1.o ./Test_1.c
`-mcpu=' is deprecated. Use `-mtune=' or '-march=' instead.
./Test_1.c:1: error: bad value (arm926ej-s) for -mtune= switch

Запускаю по рекомендации компилятора (и снова не так)
dv@oleg-it:~$ gcc -mtune=arm926ej-s -c -o ./Test_1.o ./Test_1.c
./Test_1.c:1: error: bad value (arm926ej-s) for -mtune= switch

Предполагаю, что у меня не всё установлено, поддержки ARM нет. Как решить проблему?
У меня есть ещё одна макетная плата с ARM Cortex™-A8 (ARMv7 Architecture). Какую опцию ставить в этом случае?

Обнаружил, что я не могу зайти в систему под root, под пользователем apt-get update  - отказано в доступе. Все имена, пароли, явкиsmile при установки были записаны каллиграфическим почерком, но при попытке зайти под root сбой при проверки подлинности.

PM MAIL   Вверх
kapbepucm
Дата 20.10.2011, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



Попробуйте sudo apt-get update
скорее всего, при установке был запрещён вход в систему для root

эту тему стоило назвать кросскомпиляция в Debian  smile

Это сообщение отредактировал(а) kapbepucm - 20.10.2011, 11:24


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 20.10.2011, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Мне не долго и переставить систему. Как только правильно её установить, без запретов и что б man-ы все были?

Да, это кросскомпиляция. Во всех описаниях говорится, что это разрешено. Или по умолчанию нет?

PM MAIL   Вверх
kapbepucm
Дата 20.10.2011, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



Переустанавливать не стоит, в запрете нет ничего плохого, это сделано для вашего блага. Вы всегда сможете выполнить команду с правами root через sudo. Делать это вообще надо будет редко (install/update).
Насчет кросскомниляции посмотрите в google такой запрос 'crosscompiling gcc arm on debian '. Я так понимаю простой установкой нужных пакетов не отделаться.

Это сообщение отредактировал(а) kapbepucm - 20.10.2011, 13:12


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 26.10.2011, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Ещё проблема обнаружилась, не поставился gdb, при запуске gdb a.out пишет нет такой команды. Файл a.out есть и запускается, простая программа вывода на экран текста "OK".
Компилятор поставил, а для дебагера особое приглашение нужно?

Может gdb это отдельный пакет?

Это сообщение отредактировал(а) OlegIT - 26.10.2011, 09:04
PM MAIL   Вверх
kapbepucm
Дата 1.11.2011, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



sudo aptitude install gdb


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 1.11.2011, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Я сам что-то раскопал. Инета на компьютере с Debian у меня нет.
Скачал исходники gdb, запустил конфигурацию, запустил make. Получил
………………………
checking for iconv... yes
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for library containing waddstr... no
configure: WARNING: no enhanced curses library found; disabling TUI
checking for library containing tgetent... no
configure: error: no termcap library found
make[1]: *** [configure-gdb] Ошибка 1
make[1]: Leaving directory `/home/az/GDB/gdb-7.3'
make: *** [all] Ошибка 2

Нашёл termcap, сконфигурил, создал библиотеку libtermcap.a. Но как сделать, что бы компилятор при создании gdb «видел» эту библиотеку не знаю.

С сайта Debian скачал gdbserver_7.0.1-2+b1_i386.deb  (181 кБ). Что с ним делать?


PM MAIL   Вверх
kapbepucm
Дата 1.11.2011, 17:06 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



sudo dpkg -i твой_файлик.deb

Добавлено через 6 минут и 8 секунд
а в debian не принято же из исходников ставить, всё ставит менеджер пакетов из бинарников


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 7.11.2011, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Как я понимаю для такой установки нужен интернет, а на том ноутбуке, где я работаю под Linux его нет и не будет. Где можно взять бинарник отладчика?
PM MAIL   Вверх
kapbepucm
Дата 10.11.2011, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



качаем http://packages.debian.org/squeeze/gdb файлик *.deb, переносим на ноутбук и там выпоняем коману которую я описывал выше.

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

У меня подозрение, что на установочном DVD1 все самые популярные пакеты, включая gdb, должны быть. Если после установки /etc/apt/sources.list не правили, то вставте DVD и sudo aptitude install gdb

Это сообщение отредактировал(а) kapbepucm - 10.11.2011, 18:02


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 15.11.2011, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Поставил первый диск от debian. Выполнил команду, получил ответ
<user>@oleg-it:~$ sudo dpkg -i gdbserver_7.0.1-2+b1_i386.deb
[sudo] password for <user>: 
Выбор ранее не выбранного пакета gdbserver.
(Чтение базы данных ... на данный момент установлен 130081 файл и каталог.)
Распаковывается пакет gdbserver (из файла gdbserver_7.0.1-2+b1_i386.deb)...
Настраивается пакет gdbserver (7.0.1-2+b1) ...
Обрабатываются триггеры для man-db ...
<user>@oleg-it:~$ gdb
bash: gdb: команда не найдена
<user>@oleg-it:~$

Почему опять gdb нет? Если на этом диске нет gdb, то система как-нибудь ругнулась?

PM MAIL   Вверх
kapbepucm
Дата 16.11.2011, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



Вы установили gdbserver, установите gdb
gdb
gdbserver

Это сообщение отредактировал(а) kapbepucm - 16.11.2011, 12:47


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 16.11.2011, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Спасибо.
На приведённых Вами страничках даны зависимости, которые обозначены красными квадратами. Как я понимаю их сначало установить нужно?
PM MAIL   Вверх
kapbepucm
Дата 16.11.2011, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 1
Всего: 12



да, красные кружочки, это пакеты без которых текущий пакет работать не будет. Но, возможно, они у вас уже установлены. Устанавливайте gdb, а если чего не будет хватать, dpkg выругается.
dpkg не ставит пакет, если зависимые пакеты отсутствуют.

Это сообщение отредактировал(а) kapbepucm - 16.11.2011, 13:56


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
OlegIT
Дата 17.11.2011, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 684
Регистрация: 5.4.2006

Репутация: нет
Всего: нет



Поставил gdb, работает.
Спасибо.
Если что, ещё обращусь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.