Closed bterrier closed 6 months ago
After looking into it it seems, it is how the Qt official installer handle things. Wasm on linux is using windows or macOs archives.
Since, the official installer works fine, but aqt produce a non viable install, I guess aqt install is missing some of the patching done in installscript.qs
After further testing it seems that adt does a good enough job.
But for some reason, the produced install requires the user to set QT_HOST_PREFIX for cmake to work properly,
otherwise it tries to access paths under C:\
or run macdeployqt
...
Qt Creator does not need to set QT_HOST_PREFIX
in the initial cmake config
Hi.
But for some reason, the produced install requires the user to set QT_HOST_PREFIX for cmake to work properly, otherwise it tries to access paths under
C:\
or runmacdeployqt
...
May I ask what QT_HOST_PREFIX
did you set?
I set it to th root folder of the gcc_64
install directory of Qt, so in my case: -DQT_HOST_PATH=/opt/qt/6.6.2/gcc_64
For reference here is the full working dockerfile (it assumes your project is under /home/qt/sources/
):
FROM ubuntu:22.04
RUN apt-get -y update && apt-get -q -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get -y install \
git \
cmake \
python3 \
python3-pip \
build-essential \
libdbus-1-3 \
libpulse-mainloop-glib0
RUN cd /opt && \
git clone https://github.com/emscripten-core/emsdk.git && \
cd emsdk && \
./emsdk install 3.1.37 && \
./emsdk activate 3.1.37
ENV PATH="${PATH}:/opt/emsdk:/opt/emsdk/upstream/emscripten"
RUN pip3 install aqtinstall
ARG QT=6.6.2
ARG QT_MODULES="qt5compat qtshadertools"
ARG QT_HOST=linux
ARG QT_TARGET=desktop
ARG QT_ARCH=wasm_multithread
ARG QT_DIR=/opt/qt
ARG QT_INSTALL_PREFIX=${QT_DIR}/${QT}/${QT_ARCH}
RUN aqt install-qt -O ${QT_DIR} ${QT_HOST} ${QT_TARGET} ${QT} gcc_64 -m ${QT_MODULES}
RUN aqt install-qt -O ${QT_DIR} ${QT_HOST} ${QT_TARGET} ${QT} ${QT_ARCH} -m ${QT_MODULES}
ENV EMSDK=/opt/emsdk
RUN apt-get install -q -y ninja-build
RUN mkdir -p /home/qt/sources/build && cd /home/qt/sources/build && \
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-GNinja \
-DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_INSTALL_PREFIX}/bin/qmake \
-DCMAKE_PREFIX_PATH:PATH=${QT_INSTALL_PREFIX} \
-DCMAKE_C_COMPILER:FILEPATH=/opt/emsdk/upstream/emscripten/em \
-DCMAKE_CXX_COMPILER:FILEPATH=/opt/emsdk/upstream/emscripten/em++ \
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=${QT_INSTALL_PREFIX}/lib/cmake/Qt6/qt.toolchain.cmake -DQT_HOST_PATH=${QT_DIR}/${QT}/gcc_64 \
&& cmake --build . ```
Describe the bug On Ubuntu 22,04, when I try to install Qt 6.5 or 6.6 for wasm, Windows or macOs packages are downloaded depending if I select
wasm_singlethread
orwasm_multithread
.To Reproduce Steps to reproduce the behavior:
Expected behavior Linux WASM packages are actually installed
aqt
output