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

[REG v6.0.0-beta3 -> dev] Configuring with -dirctfb or -sctp when they aren't available causes obscure crash instead of informative error message

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 6.1.0 Alpha
    • 6.0.0
    • Build System: CMake
    • None
    •  $ lsb_release -d
      Description: openSUSE Leap 15.2
      $ uname -a
      Linux localhost.localdomain 5.3.18-lp152.47-default #1 SMP Thu Oct 15 16:05:25 UTC 2020 (41f7396) x86_64 x86_64 x86_64 GNU/Linux
    • Linux/X11
    • 8d76903b9746a26945973391acc119e31f8d2fb8 (qt/qtbase/dev)

    Description

      Follow-up to QTBUG-88282.

      Found when building Qt from CI-approved commit af8f8860 in the dev branch of qt5.git.

      When asking the old qmake-based configure to enable a feature that isn't supported by the build environment, configure outputs a somewhat informative message and terminates normally.

      $ git clone git://code.qt.io/qt/qt5.git
      ...
      $ cd qt5
      $ git checkout v6.0.0-beta3
      $ perl init-repository -f
      ...
      $ ./configure -opensource -developer-build -confirm-license -directfb -sctp
      ...
        SCTP ................................... no
      ...
        DirectFB ............................... no
      ...
      ERROR: Feature 'sctp' was enabled, but the pre-condition 'tests.sctp' failed.
      
      ERROR: Feature 'directfb' was enabled, but the pre-condition 'libs.directfb' failed.
      

      When doing the same thing with the cmake-based configure, the output falsely claims that the features are enabled then configure crashes with a message that gives the user no clue about what they did wrong or how to fix it.

      $ git clone git://code.qt.io/qt/qt5.git
      ...
      $ cd qt5
      $ git reflog
      af8f8860 (HEAD -> dev, origin/dev, origin/HEAD) HEAD@{0}: pull: Fast-forward
      $ perl init-repository -f
      ...
      $ ./configure -developer-build -directfb -sctp
      ...
        SCTP ................................... yes
      ...
        DirectFB ............................... yes
      ...
      -- Configuring incomplete, errors occurred!
      See also "/home/qt/depot/qt5/CMakeFiles/CMakeOutput.log".
      See also "/home/qt/depot/qt5/CMakeFiles/CMakeError.log".
      CMake Error at qtbase/cmake/QtProcessConfigureArgs.cmake:751 (message):
        CMake exited with code 1

      There are relevant messages about 1000 lines earlier in the configure output, but it is unreasonable to expect users to grok >1000 lines of output to find the one line that explains what went wrong.

      The error messages should be displayed at the point where configure bails out, as was done for similar configure errors in QTBUG-88282.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              semlanik Alexey Edelev
              macadder Jason McDonald
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes