Astra SDK on Fedora linux

Hello,

I’m trying to run the Astra sdk v2.0.9-beta3 samples on Fedora 28.
Getting these errors for all the samples in the archive even after rebuilding them:

./DepthReaderPoll: Relink `/lib64/libmount.so.1' with `/lib64/librt.so.1' for IFUNC symbol `clock_gettime'
./DepthReaderPoll: Relink `/lib64/libudev.so.1' with `/lib64/librt.so.1' for IFUNC symbol `clock_gettime'
./DepthReaderPoll: Relink `/home/e8labor/Downloads/AstraSDK-v2.0.9-beta3-427db81acc-20180402T220618Z-Linux/bin/../lib/Plugins/openni2/libOpenNI2.so' with `/lib64/librt.so.1' for IFUNC symbol `clock_gettime'
Segmentation fault (core dumped)

Does anyone have any suggestions how to fix this?
Any ideas would be appreciated.

-Gabor

It was caused by a not existing shared object referenced by some of the dynamic libraries loaded.
Fixed by this:

sudo dnf install libpng12-devel

Hello,
Can you share how you managed to build the samples on your system ?
I am trying to build the samples on my manjaro linux but get a lot of errors (like "undefined reference to « astra_update ») and I can’t find anything in the doc to help.
Thank you!

Hi,

I didn’t have any issues with building the samples.
Used the AstraSDK-v2.0.9-beta3-427db81acc-20180402T220618Z-Ubuntu1604.tar.gz package, but it would probably work with the other one as well.

cd samples
mkdir build
cd build
cmake ..
make

Building the samples worked fine, but I had the same crash running them as with the prebuilt binaries until I installed the mission shared object.

-Gabor

Thank you Gabor,
I was able to compile (“cd build” was missing in your code).
I also added the link to sfml2.5 as it is the current version installed on my machine.
Now I have “core dumped” when I launch the samples?
astra-tests shows some errors :
/var/tcBuildAgent/work/5632b5694cdfb61b/astra-sdk/tests/stream-api/c_api_stream_tests.cpp:978: FAILED:
REQUIRE( data_valid )
with expansion:
false

libpng12 (no devel in the repository) is installed

Thanks, Added the missed cd build.

I’m not sure about your error, but mine above was completely cryptic and seemingly not related to the problem I was having.

I suggest that you check all the .so files coming with package with ldd. It will display the list of referenced shared objects. If any of them is missing you should install it.

Thank you, ldd shows that the folowings are missing but I am not sure it has anything to do with the issue:

libopencv_imgproc.so.2.4 => not found
libopencv_core.so.2.4 => not found

They are included in the SDK package though (lib/Plugins/obt/3rdparty/lib/). Opencv3.4 is installed on my computer.

Missing shared object result in a crash, so I would install OpenCV 2.4 first.

Thank you Gabor,
Now it works.
So as the samples once compiled work on another distro without needing to recompile the sdk, does-it mean that the sdk libraries don’t need to be compiled to work on non-ubuntu distro ? It looks like the sdk libraries are compatible with other distros, right ?

I’m glad it worked. I would not bet on compatibility with other distros, though. As you have experienced if you can install the required libraries with the right version then it can work, otherwise you are out of luck I’m afraid.

It would be a bit easier if the libraries were statically linked with everything required, or if they were open source.

Don’t you think that the compiled samples would not work on your/mine distro if the sdk libraries were not compatible with other distros ?

libastra_core_api.so is statically linked
libastra_core.so and libastra.so require linux-vdso.so.1libdl.so.2 libstdc++.so.6 libgcc_s.so.1 libc.so.6 ld-linux-x86-64.so.2

Actually the SDK is open source (GitHub - orbbec/astra: Orbbec Astra SDK - build amazing 3D apps with Orbbec 3D cameras) but we’ll have to wait to have the last version.