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

Can not compile Qt 6.2 with cmake on Windows when ssl is disabled

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P2: Important
    • None
    • 6.2.0
    • Build System: CMake
    • None
    • Windows

    Description

      I try to build Qt 6.2 with openssl disabled:

          "-DFEATURE_openssl=OFF" # We can not build without SSL on macOS (https://bugreports.qt.io/browse/QTBUG-89649), but we must use auto-detection
          "-DFEATURE_openssl_linked=OFF"
          "-DFEATURE_openssl_runtime=OFF"
          "-DFEATURE_opensslv11=OFF"
      

      However the build fails with errors:

      [1477/6921] C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe   /TP -DQSchannelBackendPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NETWORK_LIB -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\data\tmp\qtd\qtbase\src\plugins\tls\schannel\QSchannelBackendPlugin_autogen\include -IC:\Source\qt\qtbase\src\plugins\tls\schannel -IC:\data\tmp\qtd\qtbase\src\plugins\tls\schannel -IC:\data\tmp\qtd\qtbase\include -IC:\data\tmp\qtd\qtbase\src\network -IC:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0 -IC:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork -IC:\data\tmp\qtd\qtbase\src\corelib -IC:\data\tmp\qtd\qtbase\include\QtCore\6.2.0 -IC:\data\tmp\qtd\qtbase\include\QtCore\6.2.0\QtCore -IC:\data\tmp\qtd\qtbase\include\QtCore -IC:\Source\qt\qtbase\mkspecs\win32-msvc -IC:\data\tmp\qtd\qtbase\include\QtNetwork /D_ITERATOR_DEBUG_LEVEL=0 /DWINVER=0x0603 /D_WIN32_WINNT=0x0603    /DWIN32 /D_WINDOWS /Zi     /RTC1 -MDd /W3 /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -std:c++17 /showIncludes /Foqtbase\src\plugins\tls\schannel\CMakeFiles\QSchannelBackendPlugin.dir\__\shared\qsslsocket_qt.cpp.obj /Fdqtbase\src\plugins\tls\schannel\CMakeFiles\QSchannelBackendPlugin.dir\ /FS -c C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp
      FAILED: qtbase/src/plugins/tls/schannel/CMakeFiles/QSchannelBackendPlugin.dir/__/shared/qsslsocket_qt.cpp.obj 
      C:\PROGRA~2\MICROS~1\2019\COMMUN~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe   /TP -DQSchannelBackendPlugin_EXPORTS -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_NETWORK_LIB -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DUNICODE -DWIN32 -DWIN64 -D_CRT_SECURE_NO_WARNINGS -D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_UNICODE -D_WIN64 -IC:\data\tmp\qtd\qtbase\src\plugins\tls\schannel\QSchannelBackendPlugin_autogen\include -IC:\Source\qt\qtbase\src\plugins\tls\schannel -IC:\data\tmp\qtd\qtbase\src\plugins\tls\schannel -IC:\data\tmp\qtd\qtbase\include -IC:\data\tmp\qtd\qtbase\src\network -IC:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0 -IC:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork -IC:\data\tmp\qtd\qtbase\src\corelib -IC:\data\tmp\qtd\qtbase\include\QtCore\6.2.0 -IC:\data\tmp\qtd\qtbase\include\QtCore\6.2.0\QtCore -IC:\data\tmp\qtd\qtbase\include\QtCore -IC:\Source\qt\qtbase\mkspecs\win32-msvc -IC:\data\tmp\qtd\qtbase\include\QtNetwork /D_ITERATOR_DEBUG_LEVEL=0 /DWINVER=0x0603 /D_WIN32_WINNT=0x0603    /DWIN32 /D_WINDOWS /Zi     /RTC1 -MDd /W3 /wd4530 /wd4577 -Zc:__cplusplus -permissive- -utf-8 -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:externConstexpr -Zc:wchar_t -std:c++17 /showIncludes /Foqtbase\src\plugins\tls\schannel\CMakeFiles\QSchannelBackendPlugin.dir\__\shared\qsslsocket_qt.cpp.obj /Fdqtbase\src\plugins\tls\schannel\CMakeFiles\QSchannelBackendPlugin.dir\ /FS -c C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp
      Microsoft (R) C/C++ Optimizing Compiler Version 19.29.30133 for x64
      Copyright (C) Microsoft Corporation.  All rights reserved.
      
      C:\Source\qt\qtbase\src\network\ssl\qocspresponse.h(50): error C2338: Required feature ssl for file C:\Source\qt\qtbase\src\network\ssl\qocspresponse.h not available.
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(105): error C2079: 'QSslConfigurationPrivate::privateKey' uses undefined class 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(106): error C3646: 'sessionCipher': unknown override specifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(106): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(108): error C2065: 'QSslCipher': undeclared identifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(108): error C2923: 'QList': 'QSslCipher' is not a valid template type argument for parameter 'T'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(108): note: see declaration of 'QSslCipher'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(108): error C2955: 'QList': use of class template requires template argument list
      C:\data\tmp\qtd\qtbase\include\QtCore\../../../../../../Source/qt/qtbase/src/corelib/tools/qlist.h(102): note: see declaration of 'QList'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(112): error C2653: 'QSslSocket': is not a class or namespace name
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(112): error C3646: 'peerVerifyMode': unknown override specifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(112): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(125): error C3646: 'dhParams': unknown override specifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(125): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(132): error C2079: 'QSslConfigurationPrivate::ephemeralServerKey' uses undefined class 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(138): error C2027: use of undefined type 'QSslConfiguration'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\../../../../../../Source/qt/qtbase/src/network/access/qnetworkrequest.h(51): note: see declaration of 'QSslConfiguration'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(138): error C3646: 'nextProtocolNegotiationStatus': unknown override specifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(138): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(88): error C2653: 'QSslSocket': is not a class or namespace name
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(88): error C2065: 'AutoVerifyPeer': undeclared identifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(93): error C2653: 'QSslDiffieHellmanParameters': is not a class or namespace name
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(93): error C3861: 'defaultParameters': identifier not found
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(97): error C2027: use of undefined type 'QSslConfiguration'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\../../../../../../Source/qt/qtbase/src/network/access/qnetworkrequest.h(51): note: see declaration of 'QSslConfiguration'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(97): error C2065: 'NextProtocolNegotiationNone': undeclared identifier
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(98): error C2512: 'QList': no appropriate default constructor available
      C:\data\tmp\qtd\qtbase\include\QtCore\../../../../../../Source/qt/qtbase/src/corelib/tools/qlist.h(102): note: see declaration of 'QList'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(88): error C2614: 'QSslConfigurationPrivate': illegal member initialization: 'peerVerifyMode' is not a base or member
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(93): error C2614: 'QSslConfigurationPrivate': illegal member initialization: 'dhParams' is not a base or member
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(97): error C2614: 'QSslConfigurationPrivate': illegal member initialization: 'nextProtocolNegotiationStatus' is not a base or member
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(170): error C2027: use of undefined type 'QSslConfiguration'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\../../../../../../Source/qt/qtbase/src/network/access/qnetworkrequest.h(51): note: see declaration of 'QSslConfiguration'
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(171): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(172): error C2550: '{ctor}': constructor initializer lists are only allowed on constructor definitions
      C:\Source\qt\qtbase\src\network\ssl\qsslconfiguration_p.h(173): warning C4508: '{ctor}': function should return a value; 'void' return type assumed
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(88): error C2027: use of undefined type 'QSslSocket'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(87): note: see declaration of 'QSslSocket'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(88): error C3646: 'mode': unknown override specifier
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(88): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(173): error C2027: use of undefined type 'QSslSocket'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(87): note: see declaration of 'QSslSocket'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(173): error C3646: 'tlsMode': unknown override specifier
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(173): error C2059: syntax error: ')'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(173): error C2238: unexpected token(s) preceding ';'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(79): error C2440: 'static_cast': cannot convert from 'QObject *' to 'QSslSocket *'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(79): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(79): error C2440: 'static_cast': cannot convert from 'QObject *const ' to 'const QSslSocket *'
      C:\data\tmp\qtd\qtbase\include\QtNetwork\6.2.0\QtNetwork\private\../../../../../../../../../Source/qt/qtbase/src/network/ssl/qsslsocket_p.h(79): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
      C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp(179): error C2027: use of undefined type 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(93): note: see declaration of 'QSslKey'
      C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp(184): error C2027: use of undefined type 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(93): note: see declaration of 'QSslKey'
      C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp(186): error C2027: use of undefined type 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(93): note: see declaration of 'QSslKey'
      C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp(190): error C2027: use of undefined type 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(93): note: see declaration of 'QSslKey'
      C:\Source\qt\qtbase\src\plugins\tls\shared\qsslsocket_qt.cpp(249): error C2027: use of undefined type 'QSslKey'
      C:\Source\qt\qtbase\src\network\ssl\qtlsbackend_p.h(93): note: see declaration of 'QSslKey'
      

      Attachments

        Issue Links

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

          Activity

            People

              qtbuildsystem Qt Build System Team
              emmenlau Mario Emmenlauer
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes