Development setup for Persee on Linux

OK, so I’ve done some research in this topic and I don’t think that qemu would allow to achieve what I’d like to.

@Jesse, it would be great if you could share your development flow for Persee. I’m rather confused now, because as Persee is ARM-powered device, so providing modern local development is rather complicated. Do you do your development on e.g. Visual Studio and only run a cross-built binary on Persee? Or do you only edit code in such editor and perform build directly on Persee with Ubuntu?

If so, it’ll be unspeakable great if you could provide short instructions for that :slight_smile: I’m only speaking about Astra SDK + samples, to be precise. Just to have a glimpse of how to do that and proper tools selection will make things straightforward and way easier to proceed. I believe a lot of users will find it useful :slight_smile:

Edit #1:
I’ve tried compilation with VS2017, but the provided ARM target is not a 64-bit architecture (aarch64), which is used in Persee.

I’ve seen some posts about using gcc-arm-linux-gnueabihf for cross-compilation on Linux host to aarch64, so I’ve decided to experiment. First, I’ve installed the packaged specified here. Then, I’ve found this toolchain file for CMake, which allows for building to ARM.
I’ve downloaded Astra SDK from GitHub and OpenNI2 for Linux from Orbbec’s /develop site. I’ve run the install.sh script provided with OpenNI2, which is supposed to export path variables, OPENNI2_REDIST and OPENNI2_INCLUDE, but I had to export them manually anyway to be available to print the paths out in Bash.
To build, I use the following command: cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-Ubuntu-gnueabihf.cmake
Unfortunately, there is CMake error:

CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: OpenNI2_LIBRARY linked by target "openni_sensor" in directory /home/pwozniak/Persee/astra-master/src/plugins/openni_sensor SFML_INCLUDE_DIR

I’ve checked out CMakeList.txt in openni_sensor and noticed the following:

elseif (ASTRA_UNIX) find_library(OpenNI2_LIBRARY NAMES "libOpenNI2.so" HINTS "$ENV{OPENNI2_REDIST}" PATH_SUFFIXES lib)

I don’t get how can it be, as echoing OPENNI2_REDIST prints out:

pwozniak@pwozniak-VirtualBox ~/Persee/astra-master $ echo "$OPENNI2_REDIST" /home/pwozniak/Persee/OpenNI-Linux-Arm64-2.3/Redist

Can anyone help me with this please?

Edit #2: I’ve replaced my cmake command with: cmake -DOpenNI2_LIBRARY=/home/pwozniak/Persee/OpenNI-Linux-Arm64-2.3/Redist/libOpenNI2.so -DCMAKE_TOOLCHAIN_FILE=../Toolchain-Ubuntu-gnueabihf.cmake as hinted in this post. There is still an issue with shinyprofiler, but I’ve seen some posts about it, so I’ll update this post when I’ll deal with it.
Also, to overcome missing clisp problem, you’d want to do: sudo apt-get install protobuf-compiler clisp-dev libprotobuf-dev libsfml-dev