Development setup for Persee on Linux

The two easiest methods are to either develop elsewhere and move the code on the Persee only for building, or create a cross-compiler. On Debian like systems arm-linux-gnueabihf-gcc works fine for cross-compiling, although every dependency in your project will have to be cross-compiled as well. It’s kind of a painful road to set up the working cross-compiler and really depends on what kind of frameworks you’re working with.

A few tricks I found handy are setting up sshfs to the Persee and mounting it on the x86* system. You can then point something like a CMake toolchain file to the sshfs mount point as sysroot, which will allow you the compiler to easily find includes / libraries (although this is technically wrong, as the cross-compiler is expecting specific versions of standard headers / libs and the ones in the sshfs mount will not be matches). Alternatively you can just tar /lib and /usr on the Persee and move them on your development machine.

Btw, if you’re going to build the Astra SDK on the Persee natively on the Ubuntu 16 image, you’ll probably have the same problem I had which is that clisp will segfault when trying to handle the “lpp” files. I’m not familiar with lisp myself, so I just disabled the clisp specific stuff in the CMakeLists.txt

1 Like