diff --git a/scripts/build.sh b/scripts/build.sh index a116823..68e44fd 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -35,22 +35,28 @@ echo "Building from: $REPO_DIR" # ── 1. Install build dependencies ─────────────────────────────────────────── echo "Installing build dependencies..." 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 + + # Cross-compiler toolchain (host) 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 \ - binutils-aarch64-linux-gnu \ - libmpg123-dev libsndfile1-dev libopenal-dev libassimp-dev \ - libglew-dev libglfw3-dev liburiparser-dev \ - libcurl4-openssl-dev libpugixml-dev libasound2-dev \ - libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ - gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \ - gstreamer1.0-plugins-ugly gstreamer1.0-libav \ - libgtk-3-dev libboost-filesystem-dev \ - libfontconfig1-dev libfreetype-dev libx11-dev \ - libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev \ - libpulse-dev libudev-dev libfreeimage-dev librtaudio-dev \ - freeglut3-dev libxxf86vm-dev + binutils-aarch64-linux-gnu + + # aarch64 dev libraries (provides the .pc files pkg-config needs) + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + libmpg123-dev:arm64 libsndfile1-dev:arm64 libopenal-dev:arm64 libassimp-dev:arm64 \ + libglew-dev:arm64 libglfw3-dev:arm64 liburiparser-dev:arm64 \ + libcurl4-openssl-dev:arm64 libpugixml-dev:arm64 libasound2-dev:arm64 \ + libgstreamer1.0-dev:arm64 libgstreamer-plugins-base1.0-dev:arm64 \ + libgtk-3-dev:arm64 libboost-filesystem-dev:arm64 \ + libfontconfig1-dev:arm64 libfreetype-dev:arm64 libx11-dev:arm64 \ + libxrandr-dev:arm64 libxinerama-dev:arm64 libxcursor-dev:arm64 libxi-dev:arm64 \ + libpulse-dev:arm64 libudev-dev:arm64 libfreeimage-dev:arm64 \ + freeglut3-dev:arm64 libxxf86vm-dev:arm64 \ + libcairo2-dev:arm64 libzmq3-dev:arm64 fi # Install Node.js if missing @@ -147,6 +153,9 @@ fi 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" +# 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 -j1 \ PLATFORM_ARCH=aarch64 \