DepthSense Error: some dll files are missing

Problem

We wanted to use the SoftKinetic DepthSense DS325 camera on a Ubuntu 14.04 system. We installed the DepthSense SDK from the file DepthSenseSDK-1.2.1-840-amd64-deb.run. We connected the camera to a USB port and ran DepthSense Viewer program: /opt/softkinetic/DepthSenseSDK/bin/DepthSenseViewer. It failed with this error:

=================================================================
DepthSenseServer log started Tue May  6 11:35:52 2014
=================================================================
Tue May  6 11:35:52 2014: [0000148e]: INFO:     DepthSenseServer version 1.2.1.840 linux64 gcc (Release)
Tue May  6 11:35:52 2014: [0000148e]: INFO:     logging to STDERR
Tue May  6 11:35:52 2014: [0000148f]: INFO:     using default connection timeout
Tue May  6 11:35:52 2014: [0000148f]: INFO:     listening on port 6909
Tue May  6 11:35:52 2014: [00001490]: WARNING:  Initialization Exception: no enumerator found, some dll files are missing
Tue May  6 11:35:52 2014: [00001490]: ERROR:    no enumerator found, some dll files are missing
Tue May  6 11:35:52 2014: [00001490]: INFO:     number of connections: 0
=================================================================

We got the same error on running my own program that was compiled and linked with the DepthSense libraries.

Solution

It looked like the DepthSense Viewer was looking for a DLL file and not finding it. We checked the shared library dependencies of the viewer and any other DepthSense library file it depended on using ldd:

$ ldd /opt/softkinetic/DepthSenseSDK/bin/DepthSenseViewer
libturbojpeg.so => /opt/softkinetic/DepthSenseSDK/bin/../lib/libturbojpeg.so (0x00007f967ffab000)
libDepthSense.so.1 => /opt/softkinetic/DepthSenseSDK/bin/../lib/libDepthSense.so.1 (0x00007f967f2cd000)
libDepthSensePlugins.so.1 => /opt/softkinetic/DepthSenseSDK/bin/../lib/libDepthSensePlugins.so.1 (0x00007f967f059000)

$ ldd /opt/softkinetic/DepthSenseSDK/lib/libturbojpeg.so

$ ldd /opt/softkinetic/DepthSenseSDK/lib/libDepthSense.so.1
libDepthSensePlugins.so.1 => /opt/softkinetic/DepthSenseSDK/lib/libDepthSensePlugins.so.1 (0x00007fa777dbf000)
libturbojpeg.so => /opt/softkinetic/DepthSenseSDK/lib/libturbojpeg.so (0x00007fa777717000)

$ ldd /opt/softkinetic/DepthSenseSDK/lib/libDepthSensePlugins.so.1

There seemed to be no missing DLL files that were required by these programs and libraries.

Not finding any solution, we decided to check the dependencies of all binaries and libraries that were in /opt/softkinetic/DepthSenseSDK/. Here we found a missing library:

$ ldd /opt/softkinetic/DepthSenseSDK/bin/Plugins/libDefaultEnumeratorImpl.so 
linux-vdso.so.1 =>  (0x00007ffffa76e000)
libDepthSensePlugins.so.1 => /opt/softkinetic/DepthSenseSDK/lib/libDepthSensePlugins.so.1 (0x00007f5c594be000)
libudev.so.0 => not found

So, libudev.so.0 was the missing DLL! πŸ™‚

We checked if there was any libudev.so file available on the system:

$ locate libudev.so
/lib/x86_64-linux-gnu/libudev.so.1
/lib/x86_64-linux-gnu/libudev.so.1.3.5

We just created a symbolic link for the required library file to the existing library file:

$ sudo ln -s /lib/x86_64-linux-gnu/libudev.so.1.3.5 /lib/x86_64-linux-gnu/libudev.so.0

On Ubuntu 15.04, the file is libudev.so.1.6.2, the rest of the command remains the same.

Once this was done, the DepthSense Viewer program worked fine! Also, all our programs that had linked with DepthSense libraries also worked. πŸ™‚

7 thoughts on “DepthSense Error: some dll files are missing

  1. This was so helpful for me. I also had the problem with PrimeSense and your solution worked very well!
    Thank you so much!

    Like

  2. Hey,
    Thanks for the tip !
    I have an ‘old’ primesense 1.09 carmine camera and I faced this issue too with OpenNI 2.2.0.33.
    But In my case,I had to download and install this packages manually : libudev-dev & libudev1 (v.244.1 but I think it might work with others versions like 241.7) in order to get all the needed libudev files.
    Then after doing the trick + reboot & unplug/plug the device, it worked πŸ™‚ !!
    Thx

    Like

    1. Just a small precision πŸ™ƒ: after having downloaded and installed manually both libudev-dev & libudev1 (providing libudev.so.1, etc.), libudev.so.0 was still missing. Without your advice, it would have been almost impossible to figure out the problem (openNI is indeed apparently looking for libudev.so.0.).
      Ty again πŸ˜…

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.