frame

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

undefined reference to `libusb_strerror'

Hi, im testing the ncs but when i execute make on c_examples folder i get

cc  -o ncs-check ncs-check.o -lmvnc
/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libmvnc.so: undefined reference to `libusb_strerror'
/usr/lib/gcc/x86_64-linux-gnu/5/../../../../lib/libmvnc.so: undefined reference to `libusb_get_port_numbers'
collect2: error: ld returned 1 exit status
Makefile:14: recipe for target 'ncs-check' failed
make: *** [ncs-check] Error 1

i checked which libusb is linked libmvnc i get:

ldd /usr/lib/libmvnc.so
    linux-vdso.so.1 =>  (0x00007ffde1694000)
    libusb-1.0.so.0 => /usr/local/lib/libusb-1.0.so.0 (0x00007ff55ae72000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff55ac43000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff55aa25000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ff55a65b000)
    /lib64/ld-linux-x86-64.so.2 (0x000055c6feba2000)

also when i execute some python example i get

Traceback (most recent call last):
  File "../../src/./mvNCCompile.py", line 8, in <module>
  File "../../src/./Models/Blob.py", line 3, in <module>
  File "../../src/./Controllers/MiscIO.py", line 18, in <module>
  File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 9, in <module>
    f = CDLL("libmvnc.so")
  File "/usr/lib/python3.5/ctypes/__init__.py", line 347, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/libmvnc.so: undefined symbol: libusb_strerror

there is some symlink i have to make or some environment variable i have to add?

Comments

  • 7 Comments sorted by Votes Date Added
  • @Exia12 can you verify that you are running the SDK on a 64-bit machine with Ubuntu 16.04? What is the output of uname -m, lsb_release -a and dmesg | grep "Movidius" ? Which software release are you using? 1.07.07 or 1.07.06?

    If the toolkit/setup.sh script ran without being interrupted, it should have already updated your system's udev rules, so you don't really have to update any symlinks. Here's an excerpt from the setup file:

    # USB Setup
    echo "Configuring device udev rules"
    $SUDO_PREFIX dd of=/etc/udev/rules.d/97-usbboot.rules $DD_QUIET <<EOF
    SUBSYSTEM=="usb", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
    SUBSYSTEM=="usb", ATTRS{idProduct}=="f63b", ATTRS{idVendor}=="040e", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
    SUBSYSTEM=="tty", ATTRS{idProduct}=="2150", ATTRS{idVendor}=="03e7", GROUP="users", MODE="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
    EOF
    $SUDO_PREFIX udevadm control --reload-rules
    $SUDO_PREFIX udevadm trigger
    echo "Adding user '$USER' to 'users' group"
    $SUDO_PREFIX usermod -a -G users $USER
  • Hi, thanks for you reply it is a 16.04 machine but i installed libusb from sources and seems to not include that functions in the headers, i wasn't using the distribution libusb from canonical repositories instead a version from a camera i've installed earlier which i forgot, modifiying the configuration files from ld.conf.so to use the system libusb library solved the problem

  • @Exia12 that's great! Can you please explain a little bit more on your changes, so that other members who get stuck in a similar situation can find your answer helpful?

    Thanks in advance for taking the time to explain.


    iamintel

  • Of course, in the folder i've installed a depth camera and within its SDK there was a modified libusb version, i had added a file named DepthSense.conf inside ld.so.conf.d folder which pointed to the modified libusb version. I just commented the lines with the directory in DepthSense.conf file and it worked.

  • I have that same error message when installing the API. Found this post on a google search for libusb_sterror error message. I'm using libusb from the package manager so it shouldn't be a problem with what I have installed.

  • Hello,

    Hello,

    I have the same issue. After successfully installing the toolkit, I couldn't install the API correctly. The output of running ./setup.sh is as follows:

    Traceback (most recent call last):
    File "../../src/./mvNCCompile.py", line 8, in
    File "../../src/./Models/Blob.py", line 3, in
    File "../../src/./Controllers/MiscIO.py", line 18, in
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 9, in
    f = CDLL("libmvnc.so")
    File "/usr/lib/python3.5/ctypes/init.py", line 347, in init
    self._handle = _dlopen(self._name, mode)
    OSError: /usr/lib/libmvnc.so: undefined symbol: libusb_strerror
    Traceback (most recent call last):
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 7, in
    f = CDLL("./libmvnc.so")
    File "/usr/lib/python3.5/ctypes/init.py", line 347, in init
    self._handle = _dlopen(self._name, mode)
    OSError: ./libmvnc.so: cannot open shared object file: No such file or directory

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "../../src/./mvNCCompile.py", line 8, in
    File "../../src/./Models/Blob.py", line 3, in
    File "../../src/./Controllers/MiscIO.py", line 18, in
    File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 9, in
    f = CDLL("libmvnc.so")
    File "/usr/lib/python3.5/ctypes/init.py", line 347, in init
    self._handle = _dlopen(self._name, mode)
    OSError: /usr/lib/libmvnc.so: undefined symbol: libusb_strerror

    I have tried setting up LD_LIBRARY_PATH but and running ldd on the library path returns the same output as in Exia12 first post but there is a problem with making a CDLL call on that library in python code. So there might be a problem with linking the library in python code. I have checked the PYTHONPATH and it is correctly set. I am running on Ubuntu 16.04 64 bits. Does anyone know how to solve this?

    Thanks in advance,

  • I figured out the problem. I had an old version of libusb library. After upgrading, things went well.

Sign In or Register to comment.