fix: add arm64 multiarch dev packages and PKG_CONFIG_PATH for OF cross-compile

This commit is contained in:
Timothy Hofland
2026-03-15 20:17:55 +01:00
parent fa595d655e
commit a35863b3c5

View File

@ -35,22 +35,28 @@ echo "Building from: $REPO_DIR"
# ── 1. Install build dependencies ─────────────────────────────────────────── # ── 1. Install build dependencies ───────────────────────────────────────────
echo "Installing build dependencies..." echo "Installing build dependencies..."
if command -v apt-get > /dev/null 2>&1; then if command -v apt-get > /dev/null 2>&1; then
# Enable arm64 packages alongside x86_64 (Debian multiarch)
dpkg --add-architecture arm64
apt-get update -y apt-get update -y
# Cross-compiler toolchain (host)
DEBIAN_FRONTEND=noninteractive apt-get install -y \ DEBIAN_FRONTEND=noninteractive apt-get install -y \
git curl wget unzip build-essential \ git curl wget unzip build-essential pkg-config \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \ gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
binutils-aarch64-linux-gnu \ binutils-aarch64-linux-gnu
libmpg123-dev libsndfile1-dev libopenal-dev libassimp-dev \
libglew-dev libglfw3-dev liburiparser-dev \ # aarch64 dev libraries (provides the .pc files pkg-config needs)
libcurl4-openssl-dev libpugixml-dev libasound2-dev \ DEBIAN_FRONTEND=noninteractive apt-get install -y \
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ libmpg123-dev:arm64 libsndfile1-dev:arm64 libopenal-dev:arm64 libassimp-dev:arm64 \
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \ libglew-dev:arm64 libglfw3-dev:arm64 liburiparser-dev:arm64 \
gstreamer1.0-plugins-ugly gstreamer1.0-libav \ libcurl4-openssl-dev:arm64 libpugixml-dev:arm64 libasound2-dev:arm64 \
libgtk-3-dev libboost-filesystem-dev \ libgstreamer1.0-dev:arm64 libgstreamer-plugins-base1.0-dev:arm64 \
libfontconfig1-dev libfreetype-dev libx11-dev \ libgtk-3-dev:arm64 libboost-filesystem-dev:arm64 \
libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev \ libfontconfig1-dev:arm64 libfreetype-dev:arm64 libx11-dev:arm64 \
libpulse-dev libudev-dev libfreeimage-dev librtaudio-dev \ libxrandr-dev:arm64 libxinerama-dev:arm64 libxcursor-dev:arm64 libxi-dev:arm64 \
freeglut3-dev libxxf86vm-dev libpulse-dev:arm64 libudev-dev:arm64 libfreeimage-dev:arm64 \
freeglut3-dev:arm64 libxxf86vm-dev:arm64 \
libcairo2-dev:arm64 libzmq3-dev:arm64
fi fi
# Install Node.js if missing # Install Node.js if missing
@ -147,6 +153,9 @@ fi
cd "$ADDON_DIR/example_basic" cd "$ADDON_DIR/example_basic"
GLOBAL_FLAGS="-Wno-error -Wno-reorder -Wno-sign-compare -Wno-delete-non-virtual-dtor -std=c++11 -O0 -fno-tree-vrp" GLOBAL_FLAGS="-Wno-error -Wno-reorder -Wno-sign-compare -Wno-delete-non-virtual-dtor -std=c++11 -O0 -fno-tree-vrp"
# Point pkg-config to the aarch64 .pc files installed by the :arm64 packages
export PKG_CONFIG_PATH="/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig"
export PKG_CONFIG_LIBDIR="/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig"
make clean 2>/dev/null || true make clean 2>/dev/null || true
make -j1 \ make -j1 \
PLATFORM_ARCH=aarch64 \ PLATFORM_ARCH=aarch64 \