** This is a suggested solution, not a problem. **
There has been quite a few people lately who seem to have problems with making the examples of the NCSDK 2 on a VM. After a few days of work I finally managed to solve the problem on my end, so here is the solution that will hopefully help others in the same situation.
MY CONFIGURATION: Using Movidius' NCS on a Windows 10 host and Ubuntu 16.04 guest in VirtualBox. Fresh NCSDK 2.08 install.
In the running Ubuntu VM, go to _~/ncsdk/api/scr/common/components/XLink/pc/_.
Open _XLinkPlatform.c_ in a text/code editor.
For NCSDK 2.05 users: The file is called _UsbLinkPlatform.c_
At approx. line 248 (just Ctrl-F the following), change the condition:
if (ss > 1024*1024*10) ss = 1024*1024*10;
if (ss > 1024*1024) ss = 1024*1024;
(don't forget to save the file; do chmod if needed for permissions)
In _~/ncsdk/api/src/_, run the command:
sudo make install
*If for some reason you don't have libusb.h and get errors about it, try running this command first:
sudo apt-get install libusb-1.0-0-dev
In _~/ncsdk/examples/_, run:
The examples should now run correctly (you should see the results of the inference by the various models and such).
As for an explanation, I sadly do not quite understand what causes this bug specifically, but I would think that it is related to either:
- The VM's capacity;
- The NCS's capacity;
- Some USB limitations/problems with latest releases of either NCSDK or Windows 10.
Anyway, if this doesn't work, try lowering even more the number in the condition (Step 3).