Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
проблема с совместимостью библиотек
Dub
Добавлено 17.05.2012 12:55 Редактировалось 17.05.2012 12:56
0
Сообщение: 1
Dub
5

Пункты: 1141
Регистрация: 14.05.2012
Использую Debian Lenny с вики стартеркит, он собран по всей видимости при помощи uclibc. На диске, что идёт в комплекте с платой есть вирт.машина с Linux, где используется arm-none-linux-gnueabi-gcc который использует glibc.
Задача: создавать под виртуальной машиной бинарники, пригодные для запуска на плате.
Вижу два пути:
1) На самой плате. можно установить на Debian lenny, собраный с uclibc, библиотеку glibc? Чтобы не собирать статически каждый раз.
2) Скачать и установить на вирт.машине другой компилятор(armv5l-linux-uclibc-gcc), использующий uclibc.
3) собрать рутовую для платы с использованием glibс. Как это сделать вообще ума не приложу.

значит пост распадается на два больших вопроса:
1) что делать, чтобы бинарники собирались нормально и запускались на плате сразу.
2) как собрать свою рутовую с нужными мне пакетами под нужную мне платформу(arm в частности).
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.05.2012 13:51 Редактировалось 17.05.2012 14:26 Сообщение: 2
sasamy
4.71

Пункты: 83567
Регистрация: 14.08.2009
Цитата

Использую Debian Lenny с вики стартеркит, он собран по всей видимости при помощи uclibc


Ниразу не видел Debian с uclibc... что показывает
#ls /lib | grep uclibc

подозреваю из названия этой корневой rootfs-debian-lenny-arm.tar.gz
что это корневая с OABI (для EABI используют обозначение armel), тогда как вы используете кросскомпилятор
Цитата

CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-


впринципе статическая сборка должна была помочь в этом случае (но я в этом не уверен), если конечно ядро собрано с поддержкой обоих ABI.
Спуститься к концу Подняться к началу
Персональная информация
haker_fox
Добавлено 17.05.2012 14:26 Сообщение: 3
haker_fox
3

Пункты: 3617
Регистрация: 03.07.2011
Цитата
Задача: создавать под виртуальной машиной бинарники, пригодные для запуска на плате.

Не совсем по теме, может быть компиляция на плате устроит?
Тогда
Код

apt-get install gcc
apt-get install g++

после этого получаете на плате компилятор. Binutils доставляете при желании.
Спуститься к концу Подняться к началу
Персональная информация
Dub
Добавлено 17.05.2012 15:27 Редактировалось 17.05.2012 16:49 Сообщение: 4
Dub
5

Пункты: 1141
Регистрация: 14.05.2012
Цитата
Цитата

Использую Debian Lenny с вики стартеркит, он собран по всей видимости при помощи uclibc


Ниразу не видел Debian с uclibc... что показывает
#ls /lib | grep uclibc

подозреваю из названия этой корневой rootfs-debian-lenny-arm.tar.gz
что это корневая с OABI (для EABI используют обозначение armel), тогда как вы используете кросскомпилятор
Цитата

CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-


впринципе статическая сборка должна была помочь в этом случае (но я в этом не уверен), если конечно ядро собрано с поддержкой обоих ABI.


статическая сборка мне не нужна.
я использовал компилятор arm-none-linux-gnueabi-gcc и думал что поможет armv5l-linux-uclibc-gcc
#ls /lib | grep uclibc - не пробовал, вечером попробую


Цитата

[quote]Задача: создавать под виртуальной машиной бинарники, пригодные для запуска на плате.

Не совсем по теме, может быть компиляция на плате устроит?
Тогда
Код

apt-get install gcc
apt-get install g++

после этого получаете на плате компилятор. Binutils доставляете при желании.[/quote]

впринципе устроит такой вариант:
пишу приложение на Linux-машине, отлаживаю. Затем переношу исходники на плату и собираю там, поменяв только Makefile.
это на плате поможет?:
apt-get install gcc
apt-get install g++

надо попробовать тоже
Спуститься к концу Подняться к началу
Персональная информация
Franky
Добавлено 17.05.2012 22:44 Редактировалось 17.05.2012 22:52 Сообщение: 5
Franky
5

Пункты: 5030
Регистрация: 29.06.2010
Да, всё же решил собирать на плате. Думаю так проще.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 18.05.2012 00:27 Сообщение: 6
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Саш, справедливости для:
Цитата
что это корневая с OABI (для EABI используют обозначение armel), тогда как вы используете кросскомпилятор
Цитата

Цитата
CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-


- этот фрагмент из моего семпла отсюда
а у ТС вроде вот такое - CC = /usr/local/cross-gcc/arm-2007q1/bin/arm-none-linux-gnueabi-gcc

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
Dub
Добавлено 18.05.2012 08:45 Сообщение: 7
Dub
5

Пункты: 1141
Регистрация: 14.05.2012
Цитата
Саш, справедливости для:
Цитата
что это корневая с OABI (для EABI используют обозначение armel), тогда как вы используете кросскомпилятор
Цитата

Цитата
CROSS_COMPILE ?= arm-angstrom-linux-gnueabi-


- этот фрагмент из моего семпла отсюда
а у ТС вроде вот такое - CC = /usr/local/cross-gcc/arm-2007q1/bin/arm-none-linux-gnueabi-gcc


наименование компилятора я указывал выше

Цитата
Да, всё же решил собирать на плате. Думаю так проще.


Да, вчера попробовал этот метод. Устраивает, даже Makefile переделывать не пришлось.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 18.05.2012 10:50 Сообщение: 8
Jury093
4.5

Пункты: 54271
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Да, вчера попробовал этот метод. Устраивает, даже Makefile переделывать не пришлось.

для мелких проектов сойдет, для чего-нить более серьезного все равно придется изучать кросскомпиляцию..

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
haker_fox
Добавлено 18.05.2012 10:57 Сообщение: 9
haker_fox
3

Пункты: 3617
Регистрация: 03.07.2011
Цитата
Устраивает, даже Makefile переделывать не пришлось.

Угу, а чего его править...
Спуститься к концу Подняться к началу
Персональная информация
haker_fox
Добавлено 18.05.2012 10:58 Сообщение: 10
haker_fox
3

Пункты: 3617
Регистрация: 03.07.2011
Цитата
Цитата
Да, вчера попробовал этот метод. Устраивает, даже Makefile переделывать не пришлось.

для мелких проектов сойдет, для чего-нить более серьезного все равно придется изучать кросскомпиляцию..

Code Sourcery, и вперед)
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux