zebreus / qt-webassembly-docker

A container for building Qt applications for the web platform using Qt for WebAssembly.
MIT License
18 stars 8 forks source link

are images still being generated? can't tell from hub.docker.io ... #4

Open gmabey opened 3 years ago

gmabey commented 3 years ago

Hello!

Very useful project -- looks like it will save me some time.

However, I was initially confused by the fact that the README at hub.docker.io is not in sync with the one on GitHub. Also, I really need the threaded version, but I don't see it on hub.docker.io under "tags" ... is it working?

Thank you! Glen

zebreus commented 3 years ago

Currently no new images are generated, but the existing tags should work quite well. For threading you could try madmanfred/qt-webassembly:qt5.14-em1.38.30-multithreading which is compiled with threads enabled.

I will start updating the images again, once WebAssembly support for Qt 6 is official.

zebreus commented 3 years ago

I just tried to use QThread with the multithreading images. While it compiles with no problems the threads do not seem to work. Maybe you should try something else.

You could also try to experiment with some flags as described near the end of this blogpost.

makslevental commented 3 years ago

@Zebreus when you say "threads do not seem to work" do you mean web workers aren't started? Does the app in fact work though (albeit more slowly)?

szigetics commented 3 years ago

I will start updating the images again, once WebAssembly support for Qt 6 is official.

I guess you are interested : there is a Qt WebAssembly Technical Preview in Qt 6.2 . 😉

gmabey commented 3 years ago

@Zebreus @semlanik I'm about to try to compile this project https://github.com/semlanik/qtprotobuf within the qt-webassembly-docker image. Seems [to me!] like a very nice combination of technologies, especially since my application uses QWebSockets to send and receive serialized protobuf messages to/from the server.

The first obstacle I hit is that the version of cmake include in your image (actually, in the emscripten/emsdk image) is 3.12, and my application requires at least 3.14. I certainly could update it myself, but I see that the most recent version of emscripten/emsdk (2.0.34) actually provides cmake 3.16.3. This may or may not be a coincidence with the fact that Qt6 seems to require at least 3.16 ...

Anyway, I wonder what interest you may have in please refreshing your images, based on emscripten/emsdk 2.0.34. I include the request in this issue because I would really love to see a multithreaded version from qt 5.15 included too ... maybe that's too much to ask.

My hope is to publish a docker image that includes QtProtobuf, based on your qt-webassembly-docker image, in order to make these technologies more accessible to everyone.

Best regards -- Glen

gmabey commented 3 years ago

Here's the process I used for updating cmake in the emscripten/emsdk:1.39.8 image, for our reference after downloading the 3 pertinent files from https://packages.debian.org/source/bullseye/cmake :

docker run -it -v $HOME/src/cmake:/src emscripten/emsdk:1.39.8 /bin/bash
cd /src
apt update
dpkg-source -x cmake_3.18.4-2.dsc 
cd cmake-3.18.4/
apt install debhelper-compat libarchive-dev libcurl4-openssl-dev libexpat1-dev libjsoncpp-dev libncurses5-dev librhash-dev libuv1-dev python3-sphinx qtbase5-dev zlib1g-dev
dpkg-buildpackage

and the several .debs should now be in $HOME/src/cmake/. For these purposes, we just need one of them.