Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to force Qt to use the right libssl which is not anymore the default libssl.so?

How to force Qt to use the right libssl which is not anymore the default libssl.so?

Scheduled Pinned Locked Moved Solved General and Desktop
5 Posts 3 Posters 2.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mbruelM Offline
    mbruelM Offline
    mbruel
    wrote on last edited by
    #1

    Hi,
    I'm having an "old" server running Debian 8 with Qt v5.8 which uses libssl.so.1.0.0.
    I've installed a new service which uses libssl.so.1.1.
    So now, the system is using that new version.

    $ ll /usr/lib/x86_64-linux-gnu/libssl.so*
    lrwxrwxrwx 1 root root   13 Apr 21  2020 /usr/lib/x86_64-linux-gnu/libssl.so -> libssl.so.1.1
    -rw-r--r-- 1 root root 386K Sep 25  2019 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
    -rw-r--r-- 1 root root 580K Apr 21  2020 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
    

    How could I tell Qt to not use /usr/lib/x86_64-linux-gnu/libssl.so but /usr/lib/x86_64-linux-gnu/libssl.so.1.1 ?
    Any ideas?

    Cause all my apps using QSslSockets now crash with:

    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 SSLv2_client_method
    qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
    qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
    qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_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 CRYPTO_num_locks
    qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
    qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
    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 sk_num
    Segmentation fault
    
    nageshN 1 Reply Last reply
    0
    • mbruelM mbruel

      Hi,
      I'm having an "old" server running Debian 8 with Qt v5.8 which uses libssl.so.1.0.0.
      I've installed a new service which uses libssl.so.1.1.
      So now, the system is using that new version.

      $ ll /usr/lib/x86_64-linux-gnu/libssl.so*
      lrwxrwxrwx 1 root root   13 Apr 21  2020 /usr/lib/x86_64-linux-gnu/libssl.so -> libssl.so.1.1
      -rw-r--r-- 1 root root 386K Sep 25  2019 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
      -rw-r--r-- 1 root root 580K Apr 21  2020 /usr/lib/x86_64-linux-gnu/libssl.so.1.1
      

      How could I tell Qt to not use /usr/lib/x86_64-linux-gnu/libssl.so but /usr/lib/x86_64-linux-gnu/libssl.so.1.1 ?
      Any ideas?

      Cause all my apps using QSslSockets now crash with:

      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 SSLv2_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
      qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_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 CRYPTO_num_locks
      qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
      qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
      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 sk_num
      Segmentation fault
      
      nageshN Offline
      nageshN Offline
      nagesh
      wrote on last edited by
      #2

      @mbruel It's already /usr/lib/x86_64-linux-gnu/libssl.so is symlink to libssl.so.1.1

      1 Reply Last reply
      0
      • mbruelM Offline
        mbruelM Offline
        mbruel
        wrote on last edited by
        #3

        @nagesh well that's the problem. Qt v4.8 needs libssl.so.1.0.0 (and not the 1.1)
        So if change the symlink /usr/lib/x86_64-linux-gnu/libssl.so to point on 1.0.0 everything is working back to normal.
        But I've now other services that needs 1.1. So the /usr/lib/x86_64-linux-gnu/libssl.so should point on 1.1.

        jsulmJ 1 Reply Last reply
        0
        • mbruelM mbruel

          @nagesh well that's the problem. Qt v4.8 needs libssl.so.1.0.0 (and not the 1.1)
          So if change the symlink /usr/lib/x86_64-linux-gnu/libssl.so to point on 1.0.0 everything is working back to normal.
          But I've now other services that needs 1.1. So the /usr/lib/x86_64-linux-gnu/libssl.so should point on 1.1.

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @mbruel You can simply put the 1.0.0 version next to your binary (or somewhere else and point to it using LD_LIBRARY_PATH).

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          1
          • mbruelM Offline
            mbruelM Offline
            mbruel
            wrote on last edited by
            #5

            @jsulm yep that is what I just did and it is working.
            I've copied /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 to libssl.so (no version) in a folder and set LD_LIBRARY_PATH on it...

            1 Reply Last reply
            0

            • Login

            • Login or register to search.
            • First post
              Last post
            0
            • Categories
            • Recent
            • Tags
            • Popular
            • Users
            • Groups
            • Search
            • Get Qt Extensions
            • Unsolved