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

Windows: OpenSSL 1.1.1 Final Configure Test gives Error "pre-condition '!features.securetransport && libs.openssl' failed."

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • P2: Important
    • None
    • 5.10
    • Network: SSL
    • None
    • * Windows 10 Creators Update, 15063.483
       * VS 2017.2 Community Edition (v15.0.26430.15)
       * OpenSSL 1.1.1-dev Git Branch
       * Qt5 Dev Branch (synced after every Submodule Merge)

    Description

      The Full Error is:

      ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed.
      
      ERROR: Feature 'openssl' was enabled, but the pre-condition '!features.securetransport && (features.openssl-linked || libs.openssl_headers)' failed.
      Error: File Makefile doesn't exist.

      The Important Part of the Batch File to configure and compile OpenSSL 1.1.1-dev:

      set PATH=%PATH%;C:\nasmx64;C:\Perlx64\perl\bin
      
      cd C:\openssl11srcx64\ && xcopy /v /f /y /s "C:\gitprojects\opensslMaster\*.*" "C:\openssl11srcx64\*.*" && set CL=/d2SSAOptimizer- /MP4 /cgthreads4 /nologo && perl Configure no-comp no-rc5 no-idea no-mdc2 no-tls1 no-tls1-method no-tls1_1 no-tls1_1-method no-dtls no-dtls1-method no-dtls1_2 no-dtls1_2-method no-deprecated no-weak-ssl-ciphers VC-WIN64A --prefix=C:\openssl11x64 --openssldir=C:\openssl11x64 && nmake && nmake install && nmake test

      Important Part of the Batch File to configure and compile Qt Dev Branch:

      cd c:\xsdf64dev
      
      set CL=/d2SSAOptimizer- /MP4 /cgthreads4 /utf-8 /errorReport:prompt /nologo
      
      set OPENSSL_LIBS="-llibssl -llibcrypto" <<-- freshly added - was never necessary for me for OpenSSL 1.0.2 [also tried set OPENSSL_LIBS="-lssl -lcrypto"]
      
      set PATH=C:\qt5srcgitdev\qt5\gnuwin32\bin;C:\pscpx64;c:\icurlsx64\bin;c:\icurlsx64\include;c:\icurlsx64\lib;c:\openssl11x64\include;c:\openssl11x64\lib;C:\Perlx64\perl\bin;C:\Pythonx64\;%PATH%;C:\git\bin\
      
      c:\qt5srcgitdev\qt5\configure -verbose -make-tool jom -opensource -confirm-license -prefix c:\qt-build64dev -opengl dynamic -release -optimize-size -openssl-linked -IC:\openssl11x64\include -LC:\openssl11x64\lib OPENSSL_LIBS="-llibssl -llibcrypto" -icu -IC:\icurlsx64\include -LC:\icurlsx64\lib -mp -nomake tests -nomake examples -no-warnings-are-errors -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtcharts -skip qtconnectivity -skip qtdatavis3d -skip qtgamepad -skip qtlocation -skip qtmacextras -skip qtnetworkauth -skip qtpurchasing -skip qtqa -skip qtremoteobjects -skip qtrepotools -skip qtscript -skip qtscxml -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtspeech -skip qtsvg -skip qtvirtualkeyboard -skip qtwayland -skip qtx11extras && jom /j4 && cd c:\xsdf64dev && xcopy /v /f /y "C:\openssl11x64\bin\libcrypto-1_1-x64.dll" "c:\qt-build64dev\bin\" && xcopy /v /f /y "C:\openssl11x64\bin\libssl-1_1-x64.dll" "c:\qt-build64dev\bin\" && xcopy /v /f /y "C:\icurlsx64\bin\icudt59.dll" "c:\qt-build64dev\bin\" && xcopy /v /f /y "C:\icurlsx64\bin\icuin59.dll" "c:\qt-build64dev\bin\" && xcopy /v /f /y "C:\icurlsx64\bin\icuuc59.dll" "c:\qt-build64dev\bin\" && xcopy /v /f /y "C:\openssl11x64\bin\libcrypto-1_1-x64.dll" "C:\xsdf64dev\qtbase\bin" && xcopy /v /f /y "C:\openssl11x64\bin\libssl-1_1-x64.dll" "C:\xsdf64dev\qtbase\bin" && jom /j1 install && jom /j4 docs && jom /j1 install_docs

      I do not modify the Library Names so they have their Original Names: 'libssl.lib' and 'libcrypto.lib'

      For the OpenSSL_LIBS="" Part I also tried:

      -lssl -lcrypto
      -llibssl.lib -llibcrypto.lib
      -lc:\openssl11x64\lib\libssl -lc:\openssl11x64\lib\libcrypto
      -lc:/openssl11x64/lib/libssl -lc:/openssl11x64/lib/libcrypto
      -lc:\\openssl11x64\\lib\\libssl -lc:\\openssl11x64\\lib\\libcrypto ('
      ' = Default Format used by the Configure Tests on Windows)

      BTW: Configure complained that "$OPENSSL_LIBS is not set" at the beginning of the OpenSSL Tests (somehow I missed that line when looking at the Output before - so I added an extra "set OPENSSL_LIBS="-llibssl -llibcrypto" to the Batch File, tested then again and the test now dont complain anymore about that Part but the Final Test Result still fails).

      At the end of the Output, the Test for OpenSSL 1.1 says "succeeded" (extra Line Breaks added by me):

      Checking for OpenSSL...
      Trying source 0 (type openssl) of library openssl ...
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && c:\xsdf64dev\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LIBDIR += C:\\openssl11x64\\lib C:\\icurlsx64\\lib" "INCLUDEPATH += C:\\openssl11x64\\include C:\\icurlsx64\\include" "LIBS += \"-llibssl -llibcrypto\"" C:/qt5srcgitdev/qt5/qtbase/config.tests/unix/openssl
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && set MAKEFLAGS=& jom
      > jom 1.1.2 - empower your cores
      >       cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl -I. -IC:\openssl11x64\include -IC:\icurlsx64\include -Ic:\qt5srcgitdev\qt5\qtbase\mkspecs\win32-msvc -Fo @C:\TEMP\openssl.obj.8732.0.jom
      > openssl.cpp
      > C:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl\openssl.cpp(49): fatal error C1189: #error:  "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported"
      > jom: C:\xsdf64dev\config.tests\unix\openssl\Makefile [openssl.obj] Error 2
       => source failed verification.
      
      Trying source 1 (type inline) of library openssl ...
        => source failed condition 'config.win32 && !features.shared'.
      
      Trying source 2 (type inline) of library openssl ...
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && c:\xsdf64dev\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LIBDIR += C:\\openssl11x64\\lib C:\\icurlsx64\\lib" "INCLUDEPATH += C:\\openssl11x64\\include C:\\icurlsx64\\include" "LIBS += -llibssl -llibcrypto" "LIBS_DEBUG +=" "LIBS_RELEASE +=" C:/qt5srcgitdev/qt5/qtbase/config.tests/unix/openssl
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
      > jom 1.1.2 - empower your cores
      >       del openssl.obj
      > C:\xsdf64dev\config.tests\unix\openssl\openssl.obj konnte nicht gefunden werden
      >       del openssl.exp
      > C:\xsdf64dev\config.tests\unix\openssl\openssl.exp konnte nicht gefunden werden
      > jom 1.1.2 - empower your cores
      >       cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl -I. -IC:\openssl11x64\include -IC:\icurlsx64\include -Ic:\qt5srcgitdev\qt5\qtbase\mkspecs\win32-msvc -Fo @C:\TEMP\openssl.obj.8124.0.jom
      > openssl.cpp
      > C:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl\openssl.cpp(49): fatal error C1189: #error:  "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported"
      > jom: C:\xsdf64dev\config.tests\unix\openssl\Makefile [openssl.obj] Error 2
       => source failed verification.
      
      Trying source 3 (type inline) of library openssl ...
        => source failed condition '!config.win32'.
      test config.network.libraries.openssl FAILED
      
      Checking for OpenSSL Headers...
      Trying source 0 (type inline) of library openssl_headers ...
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && c:\xsdf64dev\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LIBDIR += C:\\openssl11x64\\lib C:\\icurlsx64\\lib" "INCLUDEPATH += C:\\openssl11x64\\include C:\\icurlsx64\\include" "LIBS += -llibssl -llibcrypto" C:/qt5srcgitdev/qt5/qtbase/config.tests/unix/openssl
      + cd /d C:\xsdf64dev\config.tests\unix\openssl && set MAKEFLAGS=& jom clean && set MAKEFLAGS=& jom
      > jom 1.1.2 - empower your cores
      >       del openssl.obj
      > C:\xsdf64dev\config.tests\unix\openssl\openssl.obj konnte nicht gefunden werden
      >       del openssl.exp
      > C:\xsdf64dev\config.tests\unix\openssl\openssl.exp konnte nicht gefunden werden
      > jom 1.1.2 - empower your cores
      >       cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl -I. -IC:\openssl11x64\include -IC:\icurlsx64\include -Ic:\qt5srcgitdev\qt5\qtbase\mkspecs\win32-msvc -Fo @C:\TEMP\openssl.obj.3288.0.jom
      > openssl.cpp
      > C:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl\openssl.cpp(49): fatal error C1189: #error:  "OpenSSL was reported as >= 1.0.2 but is missing required features, possibly it's libressl which is unsupported"
      > jom: C:\xsdf64dev\config.tests\unix\openssl\Makefile [openssl.obj] Error 2
       => source failed verification.
      test config.network.libraries.openssl_headers FAILED
      
      Checking for OpenSSL v. 1.1 support...
      + cd /d C:\xsdf64dev\config.tests\unix\openssl11 && c:\xsdf64dev\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += shared console single_arch" "QMAKE_LIBDIR += C:\\openssl11x64\\lib C:\\icurlsx64\\lib" "INCLUDEPATH += C:\\openssl11x64\\include C:\\icurlsx64\\include" "LIBS += ws2_32.lib" C:/qt5srcgitdev/qt5/qtbase/config.tests/unix/openssl11
      + cd /d C:\xsdf64dev\config.tests\unix\openssl11 && set MAKEFLAGS=& jom
      > jom 1.1.2 - empower your cores
      >       cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc -DUNICODE -D_UNICODE -DWIN32 -DWIN64 -DNDEBUG -IC:\qt5srcgitdev\qt5\qtbase\config.tests\unix\openssl11 -I. -IC:\openssl11x64\include -IC:\icurlsx64\include -Ic:\qt5srcgitdev\qt5\qtbase\mkspecs\win32-msvc -Fo @C:\TEMP\openssl.obj.172.0.jom
      > openssl.cpp
      >       link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:openssl.exe @C:\TEMP\openssl.exe.172.62.jom
      test config.network.tests.openssl11 succeeded

      The other Output is in the added config.log

      No Problems with OpenSSL 1.0.2.

      Attachments

        1. buildqmake.log
          58 kB
        2. config.cache
          8 kB
        3. config.log
          100 kB
        4. Makefile_config_tests_unix_openssl11
          10 kB
        5. qt-openssl-v111_support-part1_tests.patch
          0.7 kB
        6. qt-openssl-v111_support-part2_nocurves.patch
          0.8 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            tpochep Timur Pocheptsov
            meermusik Oliver Niebuhr
            Votes:
            2 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes