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

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P1: Critical 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)

      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.

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

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes