Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

undefined reference to `libusb_strerror'

idata
Employee
1,620 Views

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?

0 Kudos
7 Replies
idata
Employee
1,226 Views

@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

0 Kudos
idata
Employee
1,226 Views

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

0 Kudos
idata
Employee
1,226 Views

@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

0 Kudos
idata
Employee
1,226 Views

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.

0 Kudos
idata
Employee
1,226 Views

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.

0 Kudos
idata
Employee
1,226 Views

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,

0 Kudos
idata
Employee
1,226 Views

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

0 Kudos
Reply