使用 PyBombs 的 GNURadio libusb 错误

GNURadio libusb error using PyBombs

我正在尝试在 Ubuntu 14.04 上使用 PyBombs 安装 GNURadio。 我正在按照 https://github.com/gnuradio/pybombs/

中的快速入门步骤进行操作

在构建过程中出现以下错误:

Linking CXX executable tags_demo
/usr/local/lib/libuhd.so: undefined reference to `libusb_error_name'
/usr/local/lib/libuhd.so: undefined reference to `libusb_strerror'
collect2: error: ld returned 1 exit status
make[2]: *** [gr-uhd/examples/c++/tags_demo] Error 1
make[1]: *** [gr-uhd/examples/c++/CMakeFiles/tags_demo.dir/all] Error 2
make: *** [all] Error 2
PyBombs.Packager.source - ERROR - Build failed. See output above for error messages.
PyBombs.Packager.source - ERROR - Problem occurred while building package gnuradio:
Build failed.
PyBombs.install - ERROR - Error installing package gnuradio. Aborting.

经过一些研究,我确认我已经安装了 libusb 库:

$ ldconfig -p | grep usb
    libusbmuxd.so.2 (libc6) => /usr/lib/libusbmuxd.so.2
    libusb-1.0.so.0 (libc6) => /lib/i386-linux-gnu/libusb-1.0.so.0
    libusb-1.0.so.0 (libc6) => /usr/local/lib/libusb-1.0.so.0
    libusb-1.0.so.0 (libc6) => /usr/lib/libusb-1.0.so.0
    libusb-1.0.so (libc6) => /usr/lib/i386-linux-gnu/libusb-1.0.so
    libusb-0.1.so.4 (libc6) => /lib/i386-linux-gnu/libusb-0.1.so.4
    libusb-0.1.so.4 (libc6) => /usr/lib/i386-linux-gnu/libusb-0.1.so.4
    libgusb.so.2 (libc6) => /usr/lib/i386-linux-gnu/libgusb.so.2

并在两个位置找到了所需的符号:

$ nm -D /lib/i386-linux-gnu/libusb-1.0.so.0 | grep error
00004e80 T libusb_error_name
000091b0 T libusb_strerror
         U strerror

$ nm -D /usr/lib/i386-linux-gnu/libusb-1.0.so | grep error
00004e80 T libusb_error_name
000091b0 T libusb_strerror
         U strerror

但我不确定为什么构建没有找到它们。

注意:libusb 库是从 Ubuntu 存储库安装的。

是否有人能够为我指出正确的方向,以便我了解这里的问题所在?

谢谢。

好的,所以我尝试删除 libusb-1.0-0 以从源代码安装 libusb。但是,删除 libusb-1.0-0 也会删除 gnome-session 和 gvfs-backends,这破坏了我的 GUI。喔!

修复此问题后,我尝试从 libusb.info 网站的源代码安装 libusb,然后执行常规操作。

$ ./configure
$ make
$ sudo make install

然后我重试了 PyBombs 安装过程,它成功了。