Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Where configuration system searches for openssl/opensslv.h on Windows?



  • When I configure QT like this:

    configure.bat -prefix E:\Qt\Qt5.15.0\windows -DQT_NO_EXCEPTIONS -release -force-debug-info -platform win32-msvc ^
      -openssl-linked OPENSSL_LIBS="-libcrypto_static -llibssl_static" -I E:\repos\openssl\1.1.1g\include -L E:\repos\openssl\1.1.1g ^
      -opensource -confirm-license -nomake tests -nomake examples ^
    

    I get:

      OpenSSL ................................ no
        Qt directly linked to OpenSSL ........ no
      OpenSSL 1.1 ............................ no
    

    and finally the code compiles with QT_NO_SSL defined.

    But as we can see from docs, the configuration system checks for the presence of the openssl/opensslv.h, but it is not clear enough where does it check. The header exists in my include path, so probably it checks somewhere else.

    In the logs I have this:

    $OPENSSL_LIBS is not set.
      => source produced no result.
    Trying source 1 (type inline) of library openssl ...
    openssl/ssl.h not found in [] and global paths.
    openssl/opensslv.h not found in [] and global paths.
    

  • Lifetime Qt Champion

    Hi,

    Your -l statements look wrong. You should not have the lib prefix in the library name.



  • @SGaist corrected libs statement, now my exact configuration command is:

    configure.bat -prefix E:\Qt\Qt5.15.0\windows -DQT_NO_EXCEPTIONS -release -force-debug-info -platform win32-msvc ^
      -openssl-linked OPENSSL_LIBS="-llibcrypto_static -llibssl_static" -I E:\repos\openssl\1.1.1g\include -L E:\repos\openssl\1.1.1g ^
      -opensource -confirm-license -nomake tests -nomake examples ^
      -skip networkauth -skip serialport -skip serialbus -skip activeqt -skip quick3d -skip quicktimeline -skip lottie -skip remoteobjects -skip scxml ^
      -skip webglplugin -skip webchannel -skip gamepad -skip 3d -skip wayland -skip connectivity -skip sensors -skip script ^
      -skip location -skip xmlpatterns -skip speech -skip virtualkeyboard -skip datavis3d -skip charts -skip webengine -skip webview -skip doc ^
      -skip macextras -skip x11extras -skip androidextras
    

    but now I get:

    ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && !features.schannel && libs.openssl' failed.
    

    and in logs I still have:

    $OPENSSL_LIBS is not set.
      => source produced no result.
    

  • Lifetime Qt Champion

    They are still wrong, "lib" should not be there. Did you check the test logs to see exactly what failed for OpenSSL ?


Log in to reply