Incompatible version of OpenSSL in Ubuntu 18.04.

• Feb 14, 2019 - 22:08
Reported version
3.0
Type
Functional
Frequency
Many
Severity
S4 - Minor
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

I installed Musescore 3.0.2 (revision: 8ca4d2c) in Ubuntu 18.04 using the AppImage. Musescore cannot log in to the site "musescore.com" when I try to save a score online with "Save Online" option; however, this option works fine in Musescore 2.3.2.

I have tried to solve the problem by installing openssl 1.1.1a, but the problem persists. I get the following messages in the terminal:

Jack appears to be installed on this system, so we'll use it.
QApplication: invalid style override passed, ignoring it.
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: QSslSocket: cannot resolve SSLeay_version
qt.network.ssl: QSslSocket: cannot call unresolved function SSLeay
qt.network.ssl: Incompatible version of OpenSSL
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init

Comments

I solved the problem by installing the package (musescore-snapshot, version 3.0.2 + dfsg1-1~ppa) from MuseScore Nightly Builds. So it seems that the problem is related to the AppImage.

In reply to by igarcia

Yes, this is expected. The AppImage is built against a massively older Ubuntu release, whereas in the PPA, the packages are rebuilt for each release matching the libraries perfectly.

I’ll keep the packages up to date. I’ll also provide MuseScore 3 “stable” packages soon (haven’t had the time, plus caught the “conference flu” at FOSDEM and am still recovering), but for now, musescore-snapshot will do (it’s what I’m currently using to get used to version 3 myself).

Workaround No Yes

This happens due to https://bugreports.qt.io/browse/QTBUG-68156 so using Qt 5.9.8 or 5.12.1 should probably fix the issue. For me it is reproducible not only for AppImage but also for self-builds, but the issue happens not always though.

See this issue comment for a brief list of available workarounds.

For me (on Debian 9) the following way works:
1) Create a directory (for example, ~/qt_ssl_workaround/) with the following symlinks:

libcrypto.so.1.0.2 -> /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.2
libcrypto.so -> libcrypto.so.1.0.2
libssl.so.1.0.2 -> /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2
libssl.so -> libssl.so.1.0.2

2) Launch AppImage with this command:

LD_LIBRARY_PATH=~/qt_ssl_workaround/ ./MuseScore-3.1.0-x86_64.AppImage
Fix version
3.3.1