Blank Screen for sample applications in the Astra SDK (Ubuntu 14.04)

I know similar questions have been posted multiple times on this forum but none of the answers provided here helped me fix my problem.

My problem is trying to get the Astra SDK working in Ubuntu 14.04 for an Astra Pro, from this post I know, that it is not officially supported in Linux yet, but still the author managed to get it working.

OpenNI2

Before starting with the SDK I tried with OpenNI. Here the sample applications are working fine. Now I want to use BodyTracking and as stated by the Orbbec Tech Support, BodyTracking is only available when using the SDK.

Official SDK

At first I tried with the SDK that can be downloaded from the official website, adding the respective lines for my camera model to orbbec-usb.rules and running the install.sh. Now I am able to build and run the samples, but the SFML-window displays a blank screen and the terminal shows something like this (for ./SimpleDepthViewer-SFML):

Changed depth mode: 0x0 @ 0 -> 0x0 @ 0

Changing the USB-port doesn’t help either. When changing the line level = "error" in ~/path/to/SDK/lib/astra.toml to level = "trace" I get the following output:

$ ./SimpleDepthViewer-SFML 
2018-07-26 19:38:05,900 WARN  [context] Hold on to yer butts
2018-07-26 19:38:05,901 INFO  [context] configuration path: /home/yannick/AstraSDK/lib/astra.toml
2018-07-26 19:38:05,901 INFO  [context] log file path: astra.log
2018-07-26 19:38:05,901 INFO  [context] astra_core library version: v2.0.9-beta3-dc1f53e9c9 API Level: 1
2018-07-26 19:38:05,901 INFO  [context] astra_core_api library version: v2.0.9-beta3-dc1f53e9c9 API Level: 1
2018-07-26 19:38:05,901 INFO  [context] plugin search paths /home/yannick/AstraSDK/lib/Plugins/;/home/yannick/AstraSDK/lib/
2018-07-26 19:38:05,901 DEBUG [plugin_manager] load plugins
2018-07-26 19:38:05,901 DEBUG [plugin_manager] try_load_plugin /home/yannick/AstraSDK/lib/Plugins/libopenni_sensor.so
2018-07-26 19:38:05,902 TRACE [shared_library_unix] load_library failed: /home/yannick/AstraSDK/lib/Plugins/libopenni_sensor.so: undefined symbol: libusb_handle_events_completed
2018-07-26 19:38:05,902 DEBUG [plugin_manager] try_load_plugin /home/yannick/AstraSDK/lib/Plugins/libopenni_sensor.so System could not load library. Perhaps a dependency is missing.
2018-07-26 19:38:05,902 DEBUG [plugin_manager] try_load_plugin /home/yannick/AstraSDK/lib/Plugins/liborbbec_xs.so
2018-07-26 19:38:05,903 DEBUG [plugin_manager] try_load_plugin valid plugin
2018-07-26 19:38:05,903 INFO  [plugin_manager] loading plugin: /home/yannick/AstraSDK/lib/Plugins/liborbbec_xs.so version: v2.0.9-beta3-dc1f53e9c9 API level: 1
2018-07-26 19:38:05,903 INFO  [astra.xs.plugin] Initializing xs plugin
2018-07-26 19:38:05,903 DEBUG [plugin_manager] try_load_plugin initialized plugin
2018-07-26 19:38:05,903 DEBUG [plugin_manager] try_load_plugin /home/yannick/AstraSDK/lib/Plugins/libOrbbecBodyTracking.so
2018-07-26 19:38:05,938 DEBUG [plugin_manager] try_load_plugin valid plugin
2018-07-26 19:38:05,938 INFO  [plugin_manager] loading plugin: /home/yannick/AstraSDK/lib/Plugins/libOrbbecBodyTracking.so version: v2.0.9-beta3-dc1f53e9c9 API level: 1
2018-07-26 19:38:06,051 DEBUG [plugin_manager] try_load_plugin initialized plugin
2018-07-26 19:38:06,051 DEBUG [plugin_manager] try_load_plugin /home/yannick/AstraSDK/lib/Plugins/liborbbec_hand.so
2018-07-26 19:38:06,052 DEBUG [plugin_manager] try_load_plugin valid plugin
2018-07-26 19:38:06,052 INFO  [plugin_manager] loading plugin: /home/yannick/AstraSDK/lib/Plugins/liborbbec_hand.so version: v2.0.9-beta3-dc1f53e9c9 API level: 1
2018-07-26 19:38:06,052 DEBUG [plugin_manager] try_load_plugin initialized plugin
2018-07-26 19:38:06,110 INFO  [context] client opening streamset: device/default
2018-07-26 19:38:06,110 INFO  [streamset_catalog] default uri provided.
2018-07-26 19:38:06,110 TRACE [astra.streamset] new connection to device/sensor0
2018-07-26 19:38:06,110 INFO  [astra.streamset] connecting to (7,0) on device/sensor0
2018-07-26 19:38:06,110 TRACE [astra.streamset] registering orphan stream of type (7,0) on device/sensor0
2018-07-26 19:38:06,110 DEBUG [astra.streamset] registering stream (7, 0) on device/sensor0
2018-07-26 19:38:06,110 DEBUG [astra.stream_connection] 0x36e93f0 starting (7, 0)
2018-07-26 19:38:06,110 INFO  [astra.streamset] connecting to (1,0) on device/sensor0
2018-07-26 19:38:06,110 TRACE [astra.streamset] registering orphan stream of type (1,0) on device/sensor0
2018-07-26 19:38:06,110 DEBUG [astra.streamset] registering stream (1, 0) on device/sensor0
Changed depth mode: 0x0 @ 0 -> 0x0 @ 0
2018-07-26 19:38:06,110 DEBUG [astra.stream_connection] 0x36ebde0 starting (1, 0)
Failed to load font "Inconsolata.otf" (failed to create the font face)
2018-07-26 19:38:06,110 TRACE [astra.stream_reader] 0x36e9520 register_frame_ready_callback callback: 0x41dbd1 tag: 0x36e95f0 callbackId: 0x36ec7b0
2018-07-26 19:38:06,110 TRACE [astra.plugin_manager] 0xcab6c0 update()
... 
2018-07-26 19:38:08,843 TRACE [astra.plugin_manager] 0xcab6c0 update()
2018-07-26 19:38:08,876 DEBUG [plugin_manager] dtor
2018-07-26 19:38:08,876 DEBUG [plugin_manager] unload_all_plugins: terminating
2018-07-26 19:38:08,876 INFO  [astra.xs.plugin] Terminated xs plugin
2018-07-26 19:38:08,876 INFO  [orbbec.bodytracking.BodyTrackingPlugin] poof destroyed
2018-07-26 19:38:08,925 INFO  [hand_tracker] Hand Plugin terminated
2018-07-26 19:38:08,925 DEBUG [plugin_manager] unload_all_plugins: profiling cleanup
2018-07-26 19:38:08,925 DEBUG [plugin_manager] unload_all_plugins: closing shared libraries
2018-07-26 19:38:08,927 DEBUG [plugin_manager] unload_all_plugins: clearing plugin list
2018-07-26 19:38:08,927 DEBUG [plugin_manager] unload_all_plugins: done
2018-07-26 19:38:08,927 TRACE [streamset_connection] destroying streamset_connection: 0x36e5d90
2018-07-26 19:38:08,927 TRACE [astra.stream_reader] destroying reader: 0x36e9520
2018-07-26 19:38:08,927 TRACE [astra.streamset] destroying 0x36ebde0 on device/sensor0
2018-07-26 19:38:08,927 TRACE [astra.streamset] removing unused/unavailable stream 0x36ebd80 on device/sensor0
2018-07-26 19:38:08,927 TRACE [astra.streamset] destroying 0x36e93f0 on device/sensor0
2018-07-26 19:38:08,927 TRACE [astra.streamset] removing unused/unavailable stream 0x36e9700 on device/sensor0
2018-07-26 19:38:08,927 INFO  [context] Astra terminated.
2018-07-26 19:38:08,927 WARN  [context] attempt to destroy a non-existent reader: 0x36e9520

Here “. . .” stands for a continuous output of the previous line, until the window is closed.
So I tried running the example code from the SDK documentation ~/path/to/sdk/docs/html-en/helloworld.html:

int main(int argc, char** argv)
{
   astra::initialize();

   astra::StreamSet streamSet;
   astra::StreamReader reader = streamSet.create_reader();

   reader.stream<astra::DepthStream>().start();

   astra::Frame frame = reader.get_latest_frame();
   const auto depthFrame = frame.get<astra::DepthFrame>();

   const int frameIndex = depthFrame.frame_index();
   const short pixelValue = depthFrame.data()[0];

   std::cout << std::endl
             << "Depth frameIndex: " << frameIndex
             << " pixelValue: " << pixelValue
             << std::endl
             << std::endl;

   astra::terminate();

   std::cout << "hit enter to exit program" << std::endl;
   std::cin.get();

   return 0;
}

But the code gets stuck at the line astra::Frame frame = reader.get_latest_frame();.
From the posts in the Forum I would infer that there is some problem with the drivers.

GitHub

Next, I also tried with a cloned version of the GitHub repository master branch, with updated submodules. When building the project from ~/path/to/sdk/build, the following error is displayed:

$ make 
...
[  8%] Built target Shiny
[  9%] === LPP ===
/bin/sh: 1: CLISP_EXECUTABLE-NOTFOUND: not found
make[2]: *** [src/CMakeFiles/ProxyPreprocessor] Error 127
make[1]: *** [src/CMakeFiles/ProxyPreprocessor.dir/all] Error 2
make: *** [all] Error 2

When building in ~/path/to/sdk/samples/build I get:

$ make
[  3%] Linking C executable ../../bin/DepthReaderPoll
CMakeFiles/DepthReaderPoll.dir/main.c.o: In function `main':
main.c:(.text+0x20d): undefined reference to `astra_temp_update'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/DepthReaderPoll] Error 1
make[1]: *** [c-api/DepthReaderPoll/CMakeFiles/DepthReaderPoll.dir/all] Error 2
make: *** [all] Error 2

I would be really grateful if someone could help me with either of the problems. If any additional information is needed I will post it :slight_smile:

I have the same problems as you, my program stop at the line astra::Frame frame = reader.get_latest_frame(), I write program in Qt with Astra min S device (ubuntu18 OS)
Have you solved the problem yet?
If yes, could you please tell me your solutions, thanks!

Hello @Lehman,
unfortunately I wasn’t able to solve the problem until now, if I get any further insights I will post them here.

I assume that there has not been a resolution to the problem? I’m experiencing the same issue in windows.

No, unfortunately not. Only solution that worked for me, was to install Ubuntu 16.04.