ryzomcore icon indicating copy to clipboard operation
ryzomcore copied to clipboard

Installation fails with OpenSSL / Network error

Open vn971 opened this issue 3 years ago • 7 comments

Steps to reproduce:

  • On ArchLinux (standard, latest, stable)
  • Go to https://ryzom.com/
  • Click "download ryzom"
  • Unpack, lick the installation script
  • Configure the installation (directory etc), click to install

And then it errors out printing this in console:

Qt: Session management error: Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed
INF f67ed340 utils.cpp 613 CLogHelper ryzom_installer : RYZOM INSTALLER VERSION: 3.5.0.9692 (RELEASE)
INF f67ed340 utils.cpp 614 CLogHelper ryzom_installer : Memory: 9 GiB/15 GiB
INF f67ed340 utils.cpp 615 CLogHelper ryzom_installer : OS: Linux version 5.12.12-hardened1-1-hardened (linux-hardened@archlinux) (gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Fri, 18 Jun 2021 23:00:50 +0000
INF f67ed340 utils.cpp 616 CLogHelper ryzom_installer : Processor: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz / ? Family 6 Model 142 Stepping 12 / GenuineIntel / 2300.000MHz / 2 Processors found
INF f67ed340 main.cpp 157 main ryzom_installer : Launched /home/vasya/ryzom_installer_linux/ryzom_installer_linux64
INF f67ed340 main.cpp 281 main ryzom_installer : Next step is DownloadData (3)
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: Incompatible version of OpenSSL
QXcbConnection: XCB error: 3 (BadWindow), sequence: 498, resource id: 12599286, major code: 40 (TranslateCoords), minor code: 0
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
WRN f67ed340 downloader.cpp 421 onError ryzom_installer : Network error Error creating SSL context () (99) when downloading https://download.ryzom.com/ryzom_live_data.7z
INF f67ed340 downloader.cpp 274 onHeadFinished ryzom_installer : HTTP status code 0 on HEAD for https://download.ryzom.com/ryzom_live_data.7z
QXcbConnection: XCB error: 3 (BadWindow), sequence: 958, resource id: 12599592, major code: 40 (TranslateCoords), minor code: 0

vn971 avatar Jun 20 '21 16:06 vn971

This line is possibly relevant:

qt.network.ssl: Incompatible version of OpenSSL

And this is possibly the result (this line is also in red):

WRN f67ed340 downloader.cpp 421 onError ryzom_installer : Network error Error creating SSL context () (99) when downloading https://download.ryzom.com/ryzom_live_data.7z

vn971 avatar Jun 20 '21 16:06 vn971

UPD: I've manually downloaded this file, and thought of trying to place it in ~/.local/share/Ryzom I was lucky enough to guess the location, and seemingly it worked! However, the bug really needs to be fixed for other people, one should not expect that from players, even from Linux players hahaha :sweat_smile:

BTW, I've also tried to install the game on latest Ubuntu and also got a network error (didn't check if it has exactly the same error log in console or not)

vn971 avatar Jun 20 '21 16:06 vn971

In-game download of some "Patch" works fine BTW, it was downloaded after I registered and started the game.

vn971 avatar Jun 20 '21 16:06 vn971

Yes, Qt is dynamically loading libssl.so(.*) libs, I think installing OpenSSL 1.0.x (1.0.2 for example) should fix the issue. I have no idea if a more recent version of Qt will be supporting both OpenSSL 1.1+ and 1.0- (there was an API break between those 2 versions).

kervala avatar Jun 20 '21 17:06 kervala

@kervala downgrading openssl is not an option on my ArchLinux system.. As expected from Arch, I have the latest versions of everything. Openssl specifically is 1.1.1.k-1. Note that on latest stable ubuntu the game didn't work as well :(

Shelling (invoking curl / wget) might be more cross-platform?

vn971 avatar Jun 20 '21 17:06 vn971

@vn971 Aren't you able to install both OpenSSL 1.1.x and 1.0.x together ?

I think it should work if libssl.so is linked to libssl.so.1.1 and libssl.so.1.0 is not referenced.

Qt seems to check for libssl.so, then libssl.so.1, then libssl.so.1.0 and finally libssl.so.1.0.2 (or perhaps it's the opposite) until it succeeds to load symbols.

kervala avatar Jun 20 '21 19:06 kervala

@kervala oh, understood, thanks! Yes, Arch does provied the older OpenSSL as well, I see that now. I think it makes sense to focus on users besides me though (I was lucky with random-guessing the destination address as I wrote before already anyway, and have the game running).

For other players, do you want to change anything, or should I close the issue? (If as a player I'd be less fluent in terminal/openssl/github comments etc, I'd definitely not succeed in running Ryzom, and thus the game would lose me as a player.)

vn971 avatar Jun 20 '21 20:06 vn971