Hi. I am building the voxl-streamer service (for debugging purposes) for qrb5165 (on voxl mini) using the voxl-cross:V2.7 image and I found that I had to make several changes to the repo to get it to build and deploy.
For example, gstreamer development libraries are not listed in the install_build_deps.sh script. I had to install the gstreamer dev packages manually to the docker image. Also the docker image does not list the arm64 architecture as one of its package architectures. Cuz cross compiling will fail if you install the x86 packages.
In summary I had to:
dpkg --add-architecture arm64
apt install libgstreamer1.0-dev:arm64 libgstreamer-plugins-base1.0-dev:arm64 libgstrtspserver-1.0-dev:arm64
The other thing that I did was change the cmake because it was trying to use the wrong compiler for the cross compilation. During the linking stage the linker was complaining that libmodal-json.so was in the wrong format. I compiled libmodal-json for aarch64 obviously.
set(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc-7")
set(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++-7")
link_directories(/usr/lib/aarch64-linux-gnu/)
To my understanding the whole idea of using voxl-cross is to build packages for aarch64 by using an out of the box container.
Can any modalai devs help me figure out if these issues are legit? Or do you guys use a different build process? Maybe @Alex-Gardner ?