Проблемы с libftdi и libusb - PullRequest
       0

Проблемы с libftdi и libusb

0 голосов
/ 07 июня 2011

Я работаю на Macbook, OS X 10.6.4.Я установил последнюю версию libusb 1.x, а также libusb-compat.Примеры приложений в libusb компилируются и запускаются, проблем нет, поэтому я предполагаю, что они установлены правильно.Libftdi также, кажется, устанавливается правильно, но, похоже, у него проблемы с libusb.Я попробовал одно из примеров приложений, и я получаю это сообщение об ошибке:

$ ./simple
dyld: lazy symbol binding failed: Symbol not found: _usb_init
  Referenced from: /Users/Me/Downloads/libftdi-0.19/src/.libs/libftdi.1.dylib
  Expected in: flat namespace

dyld: Symbol not found: _usb_init
  Referenced from: /Users/Me/Downloads/libftdi-0.19/src/.libs/libftdi.1.dylib
  Expected in: flat namespace

Trace/BPT trap

Предположение, что виноват libusb, заключается в том, что _usb_init является функцией libusb, я нашел здесь пост, который был в том же духе http://www.jedi.be/blog/2009/11/11/ruby-usb-libusb/ но для Руби.

Пытаясь наладить работу с Pylibftdi,

Traceback (most recent call last):
  File "blah/list_devices.py", line 4, in <module>
    for device in Driver().list_devices():
  File "/Library/Python/2.6/site-packages/pylibftdi/driver.py", line 61, in __init__
    fdll = CDLL(ftdi_lib)
  File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/ctypes/__init__.py", line 345, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: dlopen(/usr/local/lib/libftdi.dylib, 6): Symbol not found: _usb_bulk_read
  Referenced from: /usr/local/lib/libftdi.dylib
  Expected in: flat namespace
 in /usr/local/lib/libftdi.dylib

Обратите внимание, что для запуска чего-либо, даже с использованием Pyftdi, мне пришлось установить libftdi для i386, а не x86_64 по умолчанию (подбрасываетo ошибки) - однако, даже установка libftdi «обычно» приводит к появлению ошибок OSE выше.Любые предложения будут ценны.

1 Ответ

0 голосов
/ 15 июня 2011

Я полагаю, что с libftdi 0.19 вы должны использовать libusb 0.1 (по крайней мере, в соответствии с их веб-страницей. http://www.intra2net.com/en/developer/libftdi/download.php). Существует порт libftdi, чтобы использовать libusb 1.0, если хотите. Я использовалэто для SYNC и ASYNC Fifos и отлично работает.

http://developer.intra2net.com/git/?p=libftdi-1.0

git: //developer.intra2net.com/libftdi-1.0

Удачи

...