DEV Community

Arseny Zinchenko
Arseny Zinchenko

Posted on • Originally published at rtfm.co.ua on

3

Viber: no connection – qt.network.ssl: Incompatible version of OpenSSL

On a fresh Arch Linux setup – Viber starting, but during authorization – can’t connect to the network.

In general – Viber’s desktop version is really limited but anyway it’s better then use it from a cell.

Tried to google few times as I didn’t found the error in messages to use exactly in google’s search., but finally – found it.

All errors look like next:

$ viber
Qt WebEngine ICU data not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine resources not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine ICU data not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine resources not found at /opt/viber/resources. Trying parent directory...
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: 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
QQuickItem: Cannot set activeFocusOnTab to false once item is the active focus item.
QQuickItem: Cannot set activeFocusOnTab to false once item is the active focus item.
qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23\_client\_method
qt.network.ssl: QSslSocket: cannot call unresolved function SSL\_library\_init

Solution #1 (doesn't work)

The first I googled was to fix the libssl.so library path as suggested here>>>.

Check the file itelf:

$ ls -l /usr/lib64/libssl.so.1.1
-rwxr-xr-x 1 root root 585328 Nov 20 19:41 /usr/lib64/libssl.so.1.1

Create the symlink:

22:52:01 [setevoy@setevoy-arch-pc ~]
$ sudo ln -s /usr/lib64/libssl.so.1.1 /opt/viber/lib/libssl.so

Run Viber again – still won’t work, same errors.

Solution #2 (doesn't work)

The next I found was discussion here>>> where the pulseaudio was mentioned, which is in the Viber’s dependencies but it wasn’t installed during Viber’s set up.

Install it:

$ sudo pacman -S pulseaudio

Reboot PC, run Viber – still nothing.

There is also the pulseaudio-git package – let’s try it:

...
==> Install or build missing dependencies for pulseaudio-git:
resolving dependencies...
looking for conflicting packages...
:: jack2-dbus and jack are in conflict. Remove jack? [y/N]
...

What is the jack2-dbus?

Check it description here>>> – looks like nothing critical, if any – pacman/yay would say it.

Remove pulseaudio:

$ sudo pacman -Rsn pulseaudio
checking dependencies...
:: firefox optionally requires pulseaudio: Audio support
:: phonon-qt5 optionally requires pulseaudio: PulseAudio support
:: phonon-qt5-gstreamer optionally requires pulseaudio: PulseAudio support
:: polybar optionally requires pulseaudio: pulseaudio module support

Packages (3) rtkit-0.11+10+g493a135-1  webrtc-audio-processing-0.3.1-1  pulseaudio-12.2-2

Total Removed Size:  6.75 MiB

:: Do you want to remove these packages? [Y/n]
...

Install the pulseaudio-git:

$ yaourt -S pulseaudio-git
...
delete :: jack2-dbus and jack are in conflict. Remove jack? [y/N] y
...
:: pulseaudio-git and libpulse are in conflict. Remove libpulse? [y/N]
...

Agree, remove them, run Viber – and again the same errors…

Solution #3 (“It works!”)

What is with libraries at all?

Check with the ldd:

$ ldd /opt/viber/Viber
linux-vdso.so.1 (0x00007ffd2b346000)
libXss.so.1 =\> /usr/lib/libXss.so.1 (0x00007f5e3a0ca000)
libqrencode.so =\> /opt/viber/lib/libqrencode.so (0x00007f5e39eb9000)
libGL.so.1 =\> /usr/lib/libGL.so.1 (0x00007f5e39e26000)
libXext.so.6 =\> /usr/lib/libXext.so.6 (0x00007f5e39c14000)
libX11.so.6 =\> /usr/lib/libX11.so.6 (0x00007f5e39ad5000)
...

All good, all found…

And only here I noticed the qt.network.ssl: Incompatible version of OpenSSL line in Viber’s messages, which led me to this>>> discussion.

Install the openssl-1.0:

$ sudo pacman -S openssl-1.0

Run Viber – and it works now!

Just – right after successful connection and authorization – Viber went down with the new error:

...
PulseAudioService: pa_context_connect() failed
PulseAudioService: pa_context_connect() failed

Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:108, function pa_mutex_unlock(). Aborting.

Aborted (core dumped)

To solve it – I restored the “common” pulseaudio:

$ sudo pacman -S pulseaudio

resolving dependencies...

looking for conflicting packages...

:: pulseaudio and pulseaudio-git are in conflict. Remove pulseaudio-git? [y/N] y

Packages (3) libpulse-12.2-2  pulseaudio-git-v12.0.269.gdb788229c-1 [removal]  pulseaudio-12.2-2

...

Run it as a daemon:

$ pulseaudio -D

Start Viber again:

$ viber
Qt WebEngine ICU data not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine resources not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine ICU data not found at /opt/viber/resources. Trying parent directory...
Qt WebEngine resources not found at /opt/viber/resources. Trying parent directory...
qt.network.ssl: QSslSocket: cannot resolve SSLv3\_client\_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3\_server\_method
qml: type=""
qml: type=""

And all works now.

Similar posts

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more →

Top comments (1)

Collapse
 
pal666 profile image
pal666

first solution works if you follow it properly, it clearly symlinks to so.10, not to so.1.1

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more