我正在尝试在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存储库安装的。
是否有人能指出我正确的方向,以便我能理解这里的问题是什么?
感谢。
答案 0 :(得分:0)
好的,所以我试图删除libusb-1.0-0,目的是从源代码安装libusb。但是删除libusb-1.0-0也删除了gnome-session和gvfs-backends,这破坏了我的GUI。卫生署!
修复后,我只是尝试从libusb.info网站上安装libusb并执行常规程序。
$ ./configure
$ make
$ sudo make install
然后我重新尝试了PyBombs安装过程并且它有效。