[Interest] 5.11.1 link error with OpenSSL (Windows)

Bob Hood bhood2 at comcast.net
Fri Jul 27 01:47:27 CEST 2018


On 7/26/2018 4:20 PM, Thiago Macieira wrote:
> On Thursday, 26 July 2018 14:56:13 PDT Bob Hood wrote:
>> I'm trying three different versions of OpenSSL -- 1.0.2l, 1.0.2o, 1.1.0h --
> First of all, three is wrong. There are only two that are valid: latest 1.0
> and latest 1.1. Anything else is not a valid option. You should never release
> any software with an old version of OpenSSL and you must always upgrade it
> when OpenSSL updates.


 From what I can see on the OpenSSL web site[1], 1.0.2o and 1.1.0h /are/the 
latest in those lines.  The only other one available is "1.1.1-pre8", which 
I'm assuming is not a release version.


>> and none of them will link correctly with Qt 5.11.1.  The "known issues"
>> wiki page[1] indicates something with Linux that suggests installing an
>> older version of OpenSSL (specifically, 1.0 is mentioned). Would this also
>> apply to Windows as well?  It's not explicitly mentioned in these issues.
>>
>> I've built previous versions of Qt with these OpenSSL 1.0.2 libraries.
> You need to make sure that the detection is correct. If you try to change
> between 1.0 and 1.1, you need to blow away your Qt build and reconfigure.


I build from clean extractions of the source archive every time, and blow away 
the folder after the build completes (whether successful or unsuccessful).  
This is not an issue.


> Once you've configured, please check whether it detected the right version.
> The file mkspecs/modules/qt_lib_network.pr will have "opensslv11" in either
> the "QT.network.enabled_features" or "QT.network.disabled_features" variable.

I don't have a "qt_lib_network.pr" file.  I have "qt_lib_network.pri" in that 
folder, and it contains the following after the build fails to link with OpenSSL:

    QT_MODULE_BIN_BASE = Q:/Qt/build/64_dll/qtbase/bin
    QT_MODULE_INCLUDE_BASE = Q:/Qt/build/64_dll/qtbase/include
    QT_MODULE_LIB_BASE = Q:/Qt/build/64_dll/qtbase/lib
    QT_MODULE_HOST_LIB_BASE = Q:/Qt/build/64_dll/qtbase/lib
    include(Q:/Qt/build/64_dll/qtbase/mkspecs/modules-inst/qt_lib_network.pri)
    QT.network.priority = 1
    include(Q:/Qt/build/64_dll/qtbase/mkspecs/modules-inst/qt_lib_network_private.pri)
    QT.network_private.priority = 1

It doesn't contain Qt.network.* anything, even though configuration tests report:

    Checking for OpenSSL... yes
    Checking for OpenSSL 1.1 support... yes
    ...
    OpenSSL ................................ yes
    Qt directly linked to OpenSSL ........ yes
    OpenSSL 1.1 ............................ yes

I'm not using OPENSSL_LIBS to "override the default library names."  Perhaps I 
should do that and see if it changes the results.


[1] https://www.openssl.org/source/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180726/7946fb57/attachment.html>


More information about the Interest mailing list