Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-53140

Using Qt5.6 build created from source inside docker reports missing modules upon use

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 5.6.0
    • Build tools: qmake
    • 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:

      1. Update apt (Based on official Ubuntu 14.04 LTS 64bit)
      2. Install recommended build requirements (from http://wiki.qt.io/Building_Qt_5_from_Git)
      3. Download Qt source tarball
      4. Uncompress Qt source tarball
      5. Run fairly basic configure of Qt ( -confirm-license -opensource -silent -nomake examples -nomake tests -no-compile-examples -no-xcb -prefix "/usr/local/Qt")
      6. Build Qt
      7. 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;

      1. 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.
      2. I have built the "Qt5HelloDocker" app using the resulting qmake making sure the app build completes without fail as well.
      3. I have ran the resulting app making sure it works.

      Attachments

        1. Dockerfile
          1.0 kB
        2. log_configure_errors_qt5_docker.txt
          32 kB
        3. log.txt.zip
          1.43 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            buddenha Oswald Buddenhagen
            lennartrolland@gmail.com Lennart Rolland
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes