From 9c8a37f59bf0415f512cd9b50f5c63376d8c3cf9 Mon Sep 17 00:00:00 2001 From: Timothy Hofland Date: Sun, 15 Mar 2026 20:29:55 +0100 Subject: [PATCH] fix: avoid arm64/amd64 -dev header conflicts, generate missing .pc files for zmq/psl --- scripts/build.sh | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index 68e44fd..d1df7e9 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -46,6 +46,8 @@ if command -v apt-get > /dev/null 2>&1; then binutils-aarch64-linux-gnu # aarch64 dev libraries (provides the .pc files pkg-config needs) + # Note: packages that conflict with their amd64 -dev counterparts (shared headers) + # are installed as runtime-only :arm64 — the .so + .pc files are still present. 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 \ @@ -56,7 +58,31 @@ if command -v apt-get > /dev/null 2>&1; then 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 + libcairo2-dev:arm64 + + # These conflict with amd64 -dev headers; install runtime-only for .so + .pc + DEBIAN_FRONTEND=noninteractive apt-get install -y \ + libzmq5:arm64 libpsl5:arm64 || true + # Repair any partially-broken state from conflicts + apt-get -f install -y + + # Generate minimal .pc files for runtime-only arm64 packages that lack one + if [ ! -f /usr/lib/aarch64-linux-gnu/pkgconfig/libzmq.pc ]; then + ZMQ_VER=$(dpkg -l libzmq5:arm64 2>/dev/null | awk '/^ii/{print $3}' | cut -d- -f1 || echo "4.3.5") + mkdir -p /usr/lib/aarch64-linux-gnu/pkgconfig + cat > /usr/lib/aarch64-linux-gnu/pkgconfig/libzmq.pc <