From 3ba283d9350783c038cc2844450f4938ad125f08 Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Thu, 12 Mar 2026 11:20:16 -0500 Subject: Upgrade bundled Qt from 6.9 to 6.10 via aqtinstall NixOS/Arch users have Qt 6.10 system-wide, causing Qt_6.10 symbol errors when loading mobase.so against the bundled Qt 6.9. Switch Docker build to install Qt 6.10.2 from aqtinstall instead of Ubuntu's Qt 6.9 packages. Co-Authored-By: Claude Opus 4.6 --- docker/Dockerfile | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) (limited to 'docker/Dockerfile') diff --git a/docker/Dockerfile b/docker/Dockerfile index a8798dc..d197569 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -21,19 +21,35 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ liblz4-dev zlib1g-dev libzstd-dev libbz2-dev liblzma-dev \ libssl-dev libcurl4-openssl-dev \ libtomlplusplus-dev \ - # Qt 6 - qt6-base-dev qt6-base-dev-tools \ - qt6-webengine-dev \ - libqt6websockets6-dev \ - qt6-svg-dev qt6-svg-plugins \ - qt6-wayland \ + # Qt 6 runtime deps (aqtinstall provides Qt 6.10 headers/tools/libs for build) kde-style-breeze \ + libgl-dev libopengl-dev libvulkan-dev libxkbcommon-dev libfontconfig1-dev \ + libfreetype-dev libx11-dev libxext-dev libxfixes-dev \ + libxi-dev libxrender-dev libxcb1-dev libxcb-cursor-dev \ + libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev \ + libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev \ + libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev \ + libxcb-render-util0-dev libxcb-xinerama0-dev \ + libxcb-xkb-dev libxkbcommon-x11-dev libatspi2.0-dev \ + libwayland-dev \ # Python - python3 python3-pyqt6 \ + python3 python3-pip python3-pyqt6 \ # Misc icoutils zip unzip \ && rm -rf /var/lib/apt/lists/* +# ── Qt 6.10 via aqtinstall ── +RUN pip3 install --break-system-packages aqtinstall && \ + aqt install-qt linux desktop 6.10.2 linux_gcc_64 \ + -m qtwebsockets qtwaylandcompositor \ + --outputdir /opt/qt6 && \ + ls /opt/qt6/6.10.2/gcc_64/bin/qmake && \ + (pip3 uninstall -y aqtinstall --break-system-packages 2>/dev/null || true) +ENV Qt6_DIR=/opt/qt6/6.10.2/gcc_64 +ENV CMAKE_PREFIX_PATH="/opt/qt6/6.10.2/gcc_64:${CMAKE_PREFIX_PATH}" +ENV PATH="/opt/qt6/6.10.2/gcc_64/bin:${PATH}" +ENV LD_LIBRARY_PATH="/opt/qt6/6.10.2/gcc_64/lib:${LD_LIBRARY_PATH}" + # ── uv (Python package manager) ── RUN curl -LsSf https://astral.sh/uv/install.sh | sh ENV PATH="/root/.local/bin:${PATH}" -- cgit v1.3.1