"Save online" fails in Windows, when building with Qt 5.12.4
Reported version
3.x-dev
Priority
P1 - High
Type
Functional
Frequency
Once
Severity
S1 - Blocker
Reproducibility
Always
Status
closed
Regression
Yes
Workaround
Yes
Project
When building MuseScore using Qt 5.12.4 (or later), "Save online" fails.
Error message (in a MinGW debug build): Warning: QSslSocket::connectToHostEncrypted: TLS initialization failed (:0, )
This is due to the fact that in Qt 5.12.4 the (Open)SSL requirements have been raises to version 1.1.1, for TLS 1.3 support, see https://blog.qt.io/blog/2019/06/17/qt-5-12-4-released-support-openssl-1…
Workaround: copy the DLLs of either attachment (depening on whether you use 32bit of 64bit) into the directory where MuseScore3.exe sits (these DLLs are OpenSSL version 1.1.1c)
See https://github.com/musescore/MuseScore/pull/5150
The 4 additional needed DLLs need to get added to https://s3.amazonaws.com/utils.musescore.org/dependencies.7z
Attachment | Size |
---|---|
ssl-1_1-x64.7z | 1.09 MB |
ssl-1_1-x86.7z | 929.09 KB |
Fix version
3.3.0
Comments
Taken from https://slproweb.com/products/Win32OpenSSL.html, the Light versions
See also #279023: "Save online" doesn't work, which added the MinGW OpenSSL DLLs libeay32.dll and ssleay32.dll to MSVC builds
So the conclusion is that some of the libraries in dependencies.7z need to be updated?
Yes. Actually 4 need to get added, 2 each for 32- and 64-bit, should increase the MuseScore package for Windows by ~1MB
I just found those DLLs being installable via Qt's Maintainance Tool as "Developers and Designer Tools > OpenSSL 1.1.1c Toolkit", those are slighly newer and slightly smaller, so I packed and attached them here.
Once the minimum requirement for Windows builds got raised to 5.12.4 (or later, as far as I understand we're waiting for 5.12.5), the DLLs libeay32.dll and ssleay32.dll could get removed from the dependencies and mscore/CMakeLists.txt (and their space saved in the packages too, some 600kb resp. 1Mb).
Might be possible to copy them conditionally on install, depending on Qt version. Not sure whether that's worth the effort and added complexity.
Updated PR to detect/copy the correct DLLs depending on Qt version
https://s3.amazonaws.com/utils.musescore.org/dependencies.7z has been updated meanwhile to containg those additionsl DLLs.
Test version, build with Qt 5.12.4, at https://ci.appveyor.com/project/MuseScore/musescore/builds/26824889/art…
Fixed in branch master, commit e869ec1d61
_fix #291079: "Save online" fails as of Qt 5.12.4 on Windows
As of Qt 5.12.4 OpenSSL version 1.1.1 is needed.
Detect/copy old/new SSL DLLs depending on Qt version to save space in
the resulting package.
For Qt >= 5.12.4 dependencies.7z needs to get updated to include those
new DLLs, attached to the issue,
https://musescore.org/en/node/291079#comment-940153_
Fixed in branch master, commit 920cd1be40
_Merge pull request #5150 from Jojo-Schmitz/Qt-5.12.4-SSL-update
fix #291079: "Save online" fails as of Qt 5.12.4 on Windows_
Automatically closed -- issue fixed for 2 weeks with no activity.