lsusb отсутствует в Busybox.
Попробовал скомпилировать libusb-1.0.0, libusb-compat-0.1.0, usbutils-0.73.
Для ПК проблем нет. Все скопимлировалось и проинсталлировалось.
./configure
make
make install
Для ARM libusb-1.0.0, libusb-compat-0.1.0 проблем нет.
/configure --host=arm-none-linux-gnueabi
make
make install
Возникли проблемы с usbutils на этапе конфигурации
checking for usb_get_string_simple in -lusb... no
configure: error: get libusb 0.1.8 or newer
Естественно,что я уже собрал libusb для ARM.
Пробовал и со своими путями
*****************************************************************************************
libusb
-----------------------------------------------------------------------------------------
./configure --prefix=/mnt/usb/libusb --host=${TARGET}
./configure --host=${TARGET}
make
sudo make install
*****************************************************************************************
libusb-compat
-----------------------------------------------------------------------------------------
./configure --prefix=/mnt/usb/libusb --host=${TARGET} CFLAGS=-I/mnt/usb/libusb/include LDFLAGS=-L/mnt/usb/libusb/lib
make
sudo make install
*****************************************************************************************
Usbutils
./configure --prefix=/mnt/usb/usbutils CFLAGS=-I/mnt/usb/libusb/include LDFLAGS=-L/mnt/usb/libusb/lib
Это не проблема путей. Я сделал sudo make uninstall для
libusb-1.0.0, libusb-compat-0.1.0
Потом пересобрал libusb-1.0.0, libusb-compat-0.1.0 с --prefix=моя директоря со штатным gcc компилятором
Надо было только добавить PKG_CONFIG_PATH
Все собирается очень легко с gcc.
Но с кросс-компилятором все остается по прежнему.
checking for usb_get_string_simple in -lusb... no
configure: error: get libusb 0.1.8 or newer
Я посмотрел на configure файл. Там есть попытка вызвать функцию usb_get_string_simple из C кода.
Вот похоже оно и сбоит.
Посмотри buildroot, там на usbutils патчи накладываются, прежде чем собирать... а libusb в sysroot ставится, прежде чем собирать usbutils, потому с их поиском проблем нет...
По идее должна быть опция --with-libusb=путь... НО про нее не упоминается в ./configure --help, а должно бы, если поддерживается...
я уверен на 99.99% процентов, что это не проблема путей.
Я уже ставил и в sysroot и в мою локальную директорию.
--with-libusb= это пробовал.
Проблема приходит отсюда.
Мне кажется, что они компилируют простой C пример. Я не думаю, что они пытаются запустить его на выполнение.
Это невозможно в случае кросс-компиляции.
В чем проблема ясно... непонятно как это исправить...
.configure ищет libusb по стандартному пути системы, а задать ему особый путь - в configure не предусмотрено, известные мне способы: --with-.. LDFLAGS и т.п. - игнорируются...
В любом случае требуется вмешательство в скрипт configure... создатель usbutils даже не предполагал, что может быть кросс-компиляция, когда дерево хоста вообще не совпадает с деревом таргета....
Кто хочет - может сделать красиво, например, введя опцию with-libusb... я не силен в шеловых скриптах, я пас...