building

(note: do not clone ayukmr/dauntless, that repo only contains the library)

$ git clone https://github.com/ayukmr/dauntless-srv
$ cd dauntless-srv

locally

.envrc

export LIBCLANG_PATH="$(brew --prefix llvm)/lib"
export DYLD_LIBRARY_PATH="$LIBCLANG_PATH:$DYLD_LIBRARY_PATH"

for pi

$ limactl create --name=default template://ubuntu

lima.yaml

mounts:
  - location: "~"
    writable: true
$ sudo apt install build-essential cmake
 
$ git clone https://github.com/opencv/opencv.git --branch 4.x
$ cd opencv
$ mkdir build && cd build
 
$ cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DBUILD_SHARED_LIBS=OFF \
  -DBUILD_TESTS=OFF \
  -DBUILD_PERF_TESTS=OFF \
  -DBUILD_opencv_highgui=OFF \
  -DBUILD_opencv_apps=OFF \
  -DCMAKE_INSTALL_PREFIX=/opt/opencv-static
 
$ make -j $(nproc)
$ sudo make install
$ sudo apt install libclang-dev

.envrc

export LIBCLANG_PATH=/usr/lib/llvm-20/lib
$ cargo build --release --target=aarch64-unknown-linux-gnu

running

copying to pi

$ ssh frc4904@dauntless.local # password: 4904
$ scp target/aarch64-unknown-linux-gnu/release/dauntless-srv frc4904@dauntless.local:/home/frc4904/dauntless

running

Rocket.toml

[default]
address = "0.0.0.0"
log_level = "off"
$ ./dauntless