1

Ubuntu 12.04 で USB を読み取るために cython-hidapi をインストールしようとしています。https://github.com/gbishop/cython-hidapiの指示に従い、次のバージョンをインストールしました。

  • lib-usb == 1.0.9
  • ヒダピ == 0.7.0
  • シトン == 0.16
  • パイソン == 2.7
  • cython-hidapi == 最新のチェックアウト

インストールからテスト部分を実行すると (python > import hid)、次のエラーが表示されます。

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python2.7/dist-packages/hid.so: undefined symbol: libusb_open

このエラーが表示される理由と、それを確認/実行する方法を知っている人はいますか?

ありがとう!ウート

4

1 に答える 1

2

私は先週、まったく同じ問題に苦しんでいました。幸いなことに、Cython の世界をよく知っている友人の 1 人が助けてくれました。setup.py の setup(...) 関数を次のように変更する必要があります。

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [Extension("hid", ["hid.pyx", "hid-libusb.c"],
                  libraries=["usb-1.0", "udev", "rt"])]
)

他のディストリビューションで多少の差異があるかどうかはわかりませんが、これは Ubuntu 12.04 と Debian 0.1.12 でテストされています。元の投稿への返信の提案を使用して、正しいリンカー フラグ (LDFLAGS) とlibraries=行を決定します。

メンテナーにプルリクエストが送信されました。私のforkからおつりを受け取ることもできます。

于 2012-09-26T06:37:08.103 に答える