Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.6.0
-
None
Description
NOTE: I don't know what Qt's official stance is on "docker", but IMO it is currently the most compelling post-enginio technology to allow deployment of connected Qt applications into the cloud, and so it should at least receive a minuscule amount of priority from Qt office.
Case: I am building a very basic Qt5 app from inside a docker image. To build this app I am first building Qt5 from source using a common short configuration string.
Steps to reproduce:
Install docker and run attached Dockerfile that performs the following:
- Update apt (Based on official Ubuntu 14.04 LTS 64bit)
- Install recommended build requirements (from http://wiki.qt.io/Building_Qt_5_from_Git)
- Download Qt source tarball
- Uncompress Qt source tarball
- Run fairly basic configure of Qt ( -confirm-license -opensource -silent -nomake examples -nomake tests -no-compile-examples -no-xcb -prefix "/usr/local/Qt")
- Build Qt
- Try to build a purposely bare-bone example from source (on github https://github.com/mrdeveloperdude/Qt5DockerHello) using qmake binary generated in previous step
Expected result: Build should complete without any errors
Actual result: Build terminates with following error:
Project ERROR: Unknown module(s) in QT: bluetooth serialport multimedia multimediawidgets
The command '/bin/sh -c mkdir -p /usr/local/hello && cd /usr/local/hello && /src/qt/qtbase/bin/qmake /src/Qt5DockerHello/Qt5DockerHello.pro && make' returned a non-zero code: 3
NOTE: The app used for provoking this build error depends on gui and multimedia modules on purpose, because even if docker might be headless, the applications we wish to deploy will process video and use drawing APIs. Also it fails a build time, and not run-time so if we wanted to make a build server in docker that would also fail.
NOTE: Before submitting this bug I have done some tests to verify that the commands work outside of docker images;
- I have built Qt from source using the exact steps in the Dockerfile but outside Docker to verify that the Qt build actually worked as expected there.
- I have built the "Qt5HelloDocker" app using the resulting qmake making sure the app build completes without fail as well.
- I have ran the resulting app making sure it works.