muesli / telephant

A lightweight but modern Mastodon client for the desktop
MIT License
190 stars 14 forks source link

Document dependencies #24

Open creideiki opened 5 years ago

creideiki commented 5 years ago

I'm trying to build a Linux distribution package, and would appreciate more exact dependency information.

So far, in the binary packages, I've found:

  1. Without libpulse.so.0 (from PulseAudio or apulse) the application refuses to start.
  2. With a current OpenSSL (v1.1.0j), the application starts, but only text content is displayed, no icons or embedded images. Errors look like:
    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
    qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed

    When installing an old v1.0.2r OpenSSL, it works as intended. OpenSSL had a substantial API break between v1.0 and v1.1.

muesli commented 5 years ago

Strange, I'm running it with 1.1.1b myself. Which Qt version is this building with?

creideiki commented 5 years ago

Qt 5.12.3, itself built against OpenSSL 1.1:

$ ldd /usr/lib64/libQt5Network.so.5.12.3 | grep ssl
        libssl.so.1.1 => /usr/lib64/libssl.so.1.1 (0x00007f7dcbfc2000)
$ equery belongs /usr/lib64/libssl.so.1.1
 * Searching for /usr/lib64/libssl.so.1.1 ... 
dev-libs/openssl-1.1.0j-r1 (/usr/lib64/libssl.so.1.1)