Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Embedded Linux
CanOpen
misha
Добавлено 18.10.2013 15:55 Редактировалось 18.10.2013 16:26
0
Сообщение: 1
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Для работы с сетью canopen пробую собрать для платы библиотеку CanFestival. Для десктопного линукса собирается нормально, а для платы - ни в какую.

Ввожу
Код
./configure --arch=arm --can=socket --timers=unix --cc=arm-none-linux-gnueabi-gcc --cxx=arm-none-linux-gnueabi-g++ --ld=arm-none-linux-gnueabi-ld --prefix=/home/user/CanFestival/output

make


В процессе сборки получаю

Код
Building [libcanfestival_unix.a]
arm-none-linux-gnueabi-ar rc libcanfestival_unix.a unix.o ../timers_unix/timers_unix.o
arm-none-linux-gnueabi-ranlib libcanfestival_unix.a
make[3]: Leaving directory `/home/user/CanFestival/drivers/unix'
arm-none-linux-gnueabi-ld -O2 -I../../include -I../../include/unix -I../../include/can_socket -I../../include/timers_unix -o CANOpenShell CANOpenShellMasterOD.o CANOpenShellSlaveOD.o CANOpenShell.o ../../src/libcanfestival.a ../../drivers/unix/libcanfestival_unix.a -lpthread -lrt -ldl
arm-none-linux-gnueabi-ld: warning: cannot find entry symbol _start; defaulting to 000089e0
CANOpenShellMasterOD.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
CANOpenShellSlaveOD.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'
CANOpenShell.o:(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr0'


Искал на эту тему - кто-то пишет, что такое бывает из-за неправильного порядка следования модулей в списке линкера. Но тут, вроде бы, все нормально.
Что еще может быть не так?
Спасибо.

upd.
Смотрю один из сгенерированных файлов (objdump -f libcanfestival.a):

Код

In archive libcanfestival.a:

unix_objacces.o: file format elf32-little
architecture: UNKNOWN!, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000


unix_lifegrd.o: file format elf32-little
architecture: UNKNOWN!, flags 0x00000011:
HAS_RELOC, HAS_SYMS
start address 0x00000000
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 18.10.2013 16:28 Редактировалось 18.10.2013 16:29 Сообщение: 2
sasamy
4.70

Пункты: 77067
Регистрация: 14.08.2009
Зачем вручную собирать ? попробуйте патч для buildroot
http://lists.busybox.net/pipermail/buildroot/2013-March/068756.html

его не включили в основную ветку из-за мелких придирок, но думаю что это вполне рабочий вариант учитывая что прислали его от http://www.armadeus.com
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 18.10.2013 16:34 Сообщение: 3
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Цитата
Зачем вручную собирать ? попробуйте патч для buildroot
http://lists.busybox.net/pipermail/buildroot/2013-March/068756.html

его не включили в основную ветку из-за мелких придирок, но думаю что это вполне рабочий вариант учитывая что прислали его от http://www.armadeus.com


Спасибо. Правда я понятия не имею, как это делать, к тому же buildroot мне так и не удалось ни разу запустить на сборку.
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 19.10.2013 00:09 Сообщение: 4
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Цитата
Зачем вручную собирать ? попробуйте патч для buildroot
http://lists.busybox.net/pipermail/buildroot/2013-March/068756.html


А что со всем этим делать-то? Копировать текст в какой-то файл и запускать make menuconfig?
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 19.10.2013 12:11 Сообщение: 5
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Применить данный патч для buildroot
В menuconfig добавить нужный пакет...
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 19.10.2013 12:53 Сообщение: 6
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Цитата
Применить данный патч для buildroot
В menuconfig добавить нужный пакет...

Так это как раз понятно.
Что значит "применить патч"?
Я знаю команду patch, которой можно передать файл и она все сделает. Но тут нет ссылки на скачивание файла, а есть какой-то документ с кучей непонятного мне текста.
Спуститься к концу Подняться к началу
Персональная информация
Jury093
Добавлено 19.10.2013 15:22 Сообщение: 7
Jury093
4.5

Пункты: 54233
Регистрация: 25.05.2009
Пол: Мужчина
Из: Санкт-Петербург
Цитата
Что значит "применить патч"?
Я знаю команду patch, которой можно передать файл и она все сделает. Но тут нет ссылки на скачивание файла, а есть какой-то документ с кучей непонятного мне текста.

раз вы знаете слово "patch", то вероятно был файл, который вы скармливали этому patch. и если заглянуть внурть, то там будут схожие закорючки..
в вашем случае с той страницы копипастите текст от
package/Config.in
до
+$(eval $(generic-package))

в отдельный файл и вероятно положив в корень билдрута, пробуете использовать через patch

или ищите линк на файл с этим патчем..

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

На любой вопрос есть любой ответ.
Спуститься к концу Подняться к началу
Персональная информация
misha
Добавлено 19.10.2013 22:59 Сообщение: 8
misha
5

Пункты: 1208
Регистрация: 20.02.2013
Из: СПб
Цитата
Цитата
Что значит "применить патч"?
Я знаю команду patch, которой можно передать файл и она все сделает. Но тут нет ссылки на скачивание файла, а есть какой-то документ с кучей непонятного мне текста.

раз вы знаете слово "patch", то вероятно был файл, который вы скармливали этому patch. и если заглянуть внурть, то там будут схожие закорючки..
в вашем случае с той страницы копипастите текст от
package/Config.in
до
+$(eval $(generic-package))

в отдельный файл и вероятно положив в корень билдрута, пробуете использовать через patch

или ищите линк на файл с этим патчем..

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

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