Dobot magician is not working with raspberry pi


#1

We have a Raspberry 3 and we downloaded the precompiled DLL for Linux on Dobot’s website (Dobot Demo v2.0 http://dobot.cc/download-center/dobot-magician.html) and unfortunately, we cannot load the DLL for Linux (file .so) with the function dlopen or cdll.LoadLibrary() on Python. The error is :

OSError: libDobotDll.so.1.0.0: cannot open shared object file: No such file or directory


#2

Obvious first question. Does the .so (shared object) file reside in a directory on your path and have you looked at the permissions and compared them to other object files?


#3

I didn’t manage to get the precompiled DLL working on my raspberry pi either. From what I remember I had a similar error. Instead I used this python library:


#4

Hi,
I have the same problem, but pydobot does not provide enough functionality for me.

I compiled the .so file on my Raspberry 3, it has the same permissions as other .so files and its directories are added to LD_LIBRARY_PATH and ld.so.conf, but still the OSError occurs.

Has anyone some suggestions?


#5

A colleague found a solution:

  • For Raspberry Pi 3, copy your libDobotDll.so files with preserved linkage into /usr/local/lib/ and make sure that /usr/local/lib/ is part of /etc/ld.so.conf or any included files
  • Run ‘sudo ldconfig -v’ and check if libDobotDll.so is included in the cache
  • with ‘ldd -d /usr/local/lib/libDobotDll.so’ you can check if there are any libraries missing
  • load you library with CDLL(“libDobotDll.so”) instead of cdll.LoadLibrary(“libDobotDll.so”)

If you wish to run the python demo script DobotControl.py, you have to change in DobotDllType.py the LoadLibrary function as mentioned above.

LD_LIBRARY_PATH is completely unneccesary. We tested this solution on two Raspberry Pis with RaspbianOS and python 3.5.


#6

Raspbian is 32bit system, while the precompiled linux so files are 64bit. How can you make it work?


#7

You have to compile it yourself on the system you will be using it with.