When a bundled library is Qt WebEngine, the bundler also installs QtWebEngineProcess (plus its libraries) to libexec/, the resources and the en-US/de locales, and points qt.conf at them. The cross image unpacks the arm64 QtWebEngineProcess (its package can't be co-installed with the amd64 one). Experiment for DSH-1: the Frame's system WebEngine (6.7.0, built against FFmpeg 6) can't be loaded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
30 lines
1.6 KiB
Docker
30 lines
1.6 KiB
Docker
# Cross-compilation environment: x86_64 host tools + aarch64 target libraries via Debian
|
|
# multiarch. The compiler runs natively (no QEMU); Qt's host tools (moc, rcc, qmlcachegen …)
|
|
# are the amd64 builds, target Qt libraries are the arm64 builds.
|
|
FROM debian:trixie
|
|
|
|
ENV LANG=C.UTF-8
|
|
|
|
RUN dpkg --add-architecture arm64 \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates cmake ninja-build pkgconf file patchelf \
|
|
g++-aarch64-linux-gnu binutils-aarch64-linux-gnu \
|
|
qt6-base-dev qt6-base-dev-tools qt6-declarative-dev qt6-declarative-dev-tools \
|
|
qt6-base-dev:arm64 qt6-declarative-dev:arm64 \
|
|
libgl-dev:arm64 libegl-dev:arm64 libvulkan-dev:arm64 libxkbcommon-dev:arm64 \
|
|
qml6-module-qtquick:arm64 qml6-module-qtquick-controls:arm64 \
|
|
qml6-module-qtquick-layouts:arm64 qml6-module-qtquick-templates:arm64 \
|
|
qml6-module-qtqml-workerscript:arm64 qml6-module-qtquick-window:arm64 \
|
|
qt6-qpa-plugins:arm64 qt6-wayland:arm64 \
|
|
qt6-webengine-dev:arm64 qml6-module-qtwebengine:arm64 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Qt WebEngine's helper process for arm64 (bundled builds): its package is Multi-Arch: foreign
|
|
# and can't be installed next to the amd64 one, so unpack it into its own directory.
|
|
RUN apt-get update \
|
|
&& cd /tmp && apt-get download libqt6webenginecore6-bin:arm64 \
|
|
&& dpkg-deb -x libqt6webenginecore6-bin_*_arm64.deb /opt/qt6-arm64 \
|
|
&& rm -f libqt6webenginecore6-bin_*_arm64.deb && rm -rf /var/lib/apt/lists/* \
|
|
&& test -x /opt/qt6-arm64/usr/lib/qt6/libexec/QtWebEngineProcess
|