MIT-SPARK / Kimera-VIO

Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.
BSD 2-Clause "Simplified" License
1.56k stars 418 forks source link

Docker build failure for ARM64 #185

Closed pstoebenau closed 2 years ago

pstoebenau commented 2 years ago

Description: I'm trying to build Kimera-VIO for ARM64 but I always get stuck at building Kimera on docker. The Dockerfile works fine on my laptop which is x86 but when I try to build for ARM64, it fails. I've tried to install it directly on the SBC as well but I get the same error. I'm using the RB5 Development Kit. ROS also doesn't work. I'd appreciate any help with this issue.

Command:

docker buildx build --platform linux/arm64 --rm --tag pstoebenau/kimera-vio-rb5 -f ./scripts/docker/Dockerfile .

Console output:

#37 1583.6 CMakeFiles/Makefile2:163: recipe for target 'CMakeFiles/kimera_vio.dir/all' failed
#37 1583.6 make[1]: *** [CMakeFiles/kimera_vio.dir/all] Error 2
#37 1583.6 make[1]: Leaving directory '/root/Kimera-VIO/build'
#37 1583.6 Makefile:140: recipe for target 'all' failed
#37 1583.6 make: *** [all] Error 2
#37 1583.6 make: Leaving directory '/root/Kimera-VIO/build'
------
error: failed to solve: executor failed running [/bin/sh -c cd Kimera-VIO && mkdir build && cd build && cmake .. && make -w -j$(nproc)]: exit code: 2
emanuelazfernandes commented 2 years ago

@pstoebenau there is a newer Dockerfile for Ubuntu 18.04 on the main folder, e.g, here: https://github.com/MIT-SPARK/Kimera-VIO/blob/master/Dockerfile_18_04 This one, you don't have to edit the environment variable DEBIAN_FRONTEND, it's already fixed. Now, about the architecture, I believe there are some issues with docker itself on arm, so check that if the above doesn't fix it. The author said he successfully ran it on a Jetson TX2. I might try it on a Jetson Nano eventually.

marcusabate commented 2 years ago

Hopefully the DEBIAN_FRONTEND fix solved your problem, feel free to reopen if not.