Search code examples
libusbgnuradio

GNURadio libusb error using PyBombs


I am attempting to install GNURadio using PyBombs on Ubuntu 14.04. I am following the quickstart steps found at https://github.com/gnuradio/pybombs/

During the build I get the following errors:

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.

After a bit of research I have confirmed I have installation of the libusb library:

$ 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

and found the required symbols in two locations:

$ 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

But I am not sure why the build is not locating them.

Note: The libusb libraries were installed from the Ubuntu repository.

Is someone able to point me in the right direction so I can understand what the issue is here?

Thanks.


Solution

  • Okay, so I tried to remove libusb-1.0-0 with the intention of installing libusb from source. However removing libusb-1.0-0 also removed gnome-session and gvfs-backends which broke my GUI. doh!

    Once this was fixed, I just tried to installed libusb from source from the libusb.info website and did the usual routine.

    $ ./configure
    $ make
    $ sudo make install
    

    Then I retried the PyBombs installation process and it worked.