Files
insightface/cpp-package/inspireface/docker/Dockerfile.arm-linux-aarch64
2025-08-08 13:26:10 +08:00

56 lines
2.1 KiB
Docker

# Use Ubuntu 18.04 as the base image
FROM ubuntu:18.04
# Update the package list and install basic development tools
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
software-properties-common \
wget \
curl \
git
# Install CMake with architecture detection
RUN apt-get update && \
apt-get install -y --no-install-recommends cmake
# Alternative: Install specific CMake version with architecture detection
# RUN apt-get update && \
# apt-get install -y --no-install-recommends wget && \
# cd /opt && \
# if [ "$(uname -m)" = "x86_64" ]; then \
# wget https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-linux-x86_64.tar.gz && \
# tar -zxvf cmake-3.20.6-linux-x86_64.tar.gz && \
# ln -s /opt/cmake-3.20.6-linux-x86_64/bin/* /usr/local/bin/ && \
# rm cmake-3.20.6-linux-x86_64.tar.gz; \
# elif [ "$(uname -m)" = "aarch64" ]; then \
# wget https://github.com/Kitware/CMake/releases/download/v3.20.6/cmake-3.20.6-linux-aarch64.tar.gz && \
# tar -zxvf cmake-3.20.6-linux-aarch64.tar.gz && \
# ln -s /opt/cmake-3.20.6-linux-aarch64/bin/* /usr/local/bin/ && \
# rm cmake-3.20.6-linux-aarch64.tar.gz; \
# else \
# apt-get install -y cmake; \
# fi
# Set the URL and installation path for the Linaro toolchain
ARG LINARO_URL="https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz"
ARG TOOLCHAIN_PATH="/opt/linaro-toolchain"
# Create the installation path, download, and extract the Linaro toolchain
RUN mkdir -p ${TOOLCHAIN_PATH} && \
wget -qO- ${LINARO_URL} | tar -xJ -C ${TOOLCHAIN_PATH} --strip-components=1
# Set environment variables to point to the toolchain directory
ENV ARM_CROSS_COMPILE_TOOLCHAIN=${TOOLCHAIN_PATH}
ENV PATH="${TOOLCHAIN_PATH}/bin:${PATH}"
# Clean temporary files to reduce image size
RUN apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Set the working directory
WORKDIR /workspace
# Default to running Bash
CMD ["/bin/bash"]