Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Linux для начинающих

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2014, 21:42   #1
SergeJey
Junior Member
 
Регистрация: 16.08.2012
Сообщений: 23
Вес репутации: 0
SergeJey is an unknown quantity at this point
По умолчанию Компиляция программы с библиотекой libusb

Приветствую!

Ребята, подскажите пожалуйста, уже несколько дней не могу решить проблему с компиляцией программы, которая использует libusb.

Предыстория. Начал разбираться с кросс-компиляцией по этому мануалу: http://telecnatron.com/articles/Cros...nWRT-On-Linux/

Вроде бы всё неплохо, hello world скомпилировалось отлично (опустим танцы с бубном по поводу установки среды для кросс-компиляции, та ещё процедура для меня), на роутере запустилось. Дальше у меня была задача скомпилировать программу dcled (http://www.last-outpost.com/~malakai/dcled/), чтобы попробовать вывести какие-то надписи на подключаемому по USB led-бэджику (в будущем хочу сделать его управляемым по wifi). Скачал исходники программы, распаковал. И тут засада...

Сначало пробовал сделать всё тоже самое, что и с классическим примером:
Код:
# Set up paths and environment for cross compiling for openwrt
export STAGING_DIR=/usr/local/crosscompile/openwrt/staging_dir
export TOOLCHAIN_DIR=$STAGING_DIR/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2
export LDCFLAGS=$TOOLCHAIN_DIR/usr/lib
export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/usr/lib
export PATH=$TOOLCHAIN_DIR/bin:$PATH
mips-openwrt-linux-gcc -g -lm -lusb-1.0 -o dcled dcled.c
На выходе имеем ошибку:
Код:
dcled.c:30:20: fatal error: libusb.h: No such file or directory
 #include <libusb.h>
                    ^
compilation terminated.
Ок... пишут, что можно использовать стандартный make-файл с такими параметрами:
Код:
# Set up paths and environment for cross compiling for openwrt
export STAGING_DIR=/usr/local/crosscompile/openwrt/staging_dir
export TOOLCHAIN_DIR=$STAGING_DIR/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2
export LDCFLAGS=$TOOLCHAIN_DIR/usr/lib
export LD_LIBRARY_PATH=$TOOLCHAIN_DIR/usr/lib
export PATH=$TOOLCHAIN_DIR/bin:$PATH
make CC=mips-openwrt-linux-uclibc-gcc LD=mips-openwrt-linux-uclibc-ld
на выходе:
Код:
mips-openwrt-linux-uclibc-gcc dcled.o -o dcled -g -lm -lusb-1.0
/usr/local/crosscompile/openwrt/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.8.3/../../../../mips-openwrt-linux-uclibc/bin/ld: cannot find -lusb-1.0
collect2: error: ld returned 1 exit status
make: *** [dcled] Error 1
Перепробовал уже наверное миллион комбинаций и, честно говоря, мозг закипает.

Для справки результат выполнения "locate libusb.h"

Код:
/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/ipkg-install/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/libusb/libusb.h
/usr/local/crosscompile/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include/libusb-1.0/libusb.h
Помогите, а то с ума сойду
Как вариант, может кто-нибудь может скомпилировать мне эту чёртову программу, т.к. я не уверен, что она в итоге у меня заработает и всё может оказаться зря...

ЗАРАНЕЕ СПАСИБО!!!
SergeJey вне форума   Ответить с цитированием
Старый 08.11.2014, 22:07   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Компиляция программы с библиотекой libusb

А Вы проверяли в транке наличие исходников libusb?
У меня тоже не получилось скомпилировать, оказалось что в транке лежит только патч с битой ссылкой на исходник
Admin вне форума   Ответить с цитированием
Старый 09.11.2014, 11:45   #3
SergeJey
Junior Member
 
Регистрация: 16.08.2012
Сообщений: 23
Вес репутации: 0
SergeJey is an unknown quantity at this point
По умолчанию Re: Компиляция программы с библиотекой libusb

Цитата:
Сообщение от Admin Посмотреть сообщение
А Вы проверяли в транке наличие исходников libusb?
У меня тоже не получилось скомпилировать, оказалось что в транке лежит только патч с битой ссылкой на исходник
А как проверить наверняка?
Выше я присылал расположение libusb.h:
Код:
/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/ipkg-install/usr/include/libusb-1.0/libusb.h
/usr/local/crosscompile/openwrt/build_dir/target-mips_34kc_uClibc-0.9.33.2/libusb-1.0.9/libusb/libusb.h
/usr/local/crosscompile/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/usr/include/libusb-1.0/libusb.h
Как мне казалось то, что начинается с /usr/loca/crosscompile/ это и есть то, что используется компилятором openwrt. Сразу я установил без libusb, но потом всё стёр, через menuconfig добавил libusb и пересобрал ядро. Кроме того, исходники libusb есть в основной системе (/usr/include/libusb-1.0/), т.е. я могу скомпилировать программу для основной системы просто запустив "make", а вот под openwrt ну никак не получается.
SergeJey вне форума   Ответить с цитированием
Старый 09.11.2014, 12:04   #4
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Компиляция программы с библиотекой libusb

Я для сборки прошивки использовал svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment attitude_adjustment_12.09.
На последних транках не получалось. На других не хватало нужных мне пакетов.
St@rz вне форума   Ответить с цитированием
Старый 09.11.2014, 12:26   #5
SergeJey
Junior Member
 
Регистрация: 16.08.2012
Сообщений: 23
Вес репутации: 0
SergeJey is an unknown quantity at this point
По умолчанию Re: Компиляция программы с библиотекой libusb

Цитата:
Сообщение от St@rz Посмотреть сообщение
Я для сборки прошивки использовал svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment attitude_adjustment_12.09.
На последних транках не получалось. На других не хватало нужных мне пакетов.
А можно проверить на этой сборке работает ли компиляция с libusb? Буду очень признателен.
SergeJey вне форума   Ответить с цитированием
Старый 09.11.2014, 15:23   #6
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Компиляция программы с библиотекой libusb

Сейчас запущу сборку.

Нажмите на изображение для увеличения
Название: Снимок экрана от 2014-11-09 17:29:54.png
Просмотров: 380
Размер:	82.4 Кб
ID:	1994

Последний раз редактировалось St@rz; 09.11.2014 в 15:32.
St@rz вне форума   Ответить с цитированием
Старый 09.11.2014, 16:53   #7
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Компиляция программы с библиотекой libusb

Проблема немного в другом, не компилируются приложения использующие эту библиотеку
Admin вне форума   Ответить с цитированием
Старый 09.11.2014, 17:14   #8
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Компиляция программы с библиотекой libusb

Собралось. Я думаю что приложение тоже соберется без проблем.

Нажмите на изображение для увеличения
Название: Снимок экрана от 2014-11-09 19:13:02.png
Просмотров: 373
Размер:	132.2 Кб
ID:	1995
St@rz вне форума   Ответить с цитированием
Старый 09.11.2014, 22:43   #9
SergeJey
Junior Member
 
Регистрация: 16.08.2012
Сообщений: 23
Вес репутации: 0
SergeJey is an unknown quantity at this point
По умолчанию Re: Компиляция программы с библиотекой libusb

Цитата:
Сообщение от St@rz Посмотреть сообщение
Собралось. Я думаю что приложение тоже соберется без проблем.
А можно попробовать собрать приложение? Пожалуйста
Я как раз смог нормально собрать билд системы (правда использовал не libusb, а libusb-1.0), но приложение у меня не собирается... или я не умею его правильно запустить на компиляцию.
SergeJey вне форума   Ответить с цитированием
Старый 09.11.2014, 23:36   #10
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 49
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Компиляция программы с библиотекой libusb

Почта [email protected]. Но возможно приложение будет работать только с этой версией.
St@rz вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:37. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика