#======================================================================= # FILE: ci/Dockerfile # DESC: aarch64 (RK3588 / Ubuntu 20.04) build & test environment. # - Ubuntu 20.04 arm64 base (matches the target board) # - MOOS-IvP built from source and installed to /usr/local # - jsoncpp (the only extra dep used by pPowerManger) #======================================================================= FROM arm64v8/ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive #----------------------------------------------------------------------- # System toolchain + dependencies #----------------------------------------------------------------------- RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ cmake \ git \ ca-certificates \ libjsoncpp-dev \ rsync \ && rm -rf /var/lib/apt/lists/* #----------------------------------------------------------------------- # Build & install MOOS-IvP (bundles MOOS core + essentials + geodesy + ivp) # build-moos.sh -m : skip GUI tools (no FLTK needed) # build-ivp.sh -n : skip GUI apps (no FLTK needed) # Installs libMOOS + MOOSConfig.cmake + ivp headers/libs to /usr/local, # matching the layout expected by the project's top-level CMakeLists.txt. #----------------------------------------------------------------------- WORKDIR /opt RUN git clone --depth 1 https://github.com/moos-ivp/moos-ivp.git && \ cd moos-ivp && \ ./build-moos.sh -m -j"$(nproc)" && \ make -C build/MOOS/MOOSCore install && \ make -C build/MOOS/MOOSGeodesy install && \ ./build-ivp.sh -n -j"$(nproc)" && \ make -C build/ivp install && \ ldconfig WORKDIR /src