Viber does not run after latest updates

After the latest updates, viber does not start at all. When I try to run it in a terminal it shows the following error:

/opt/viber/Viber: error while loading shared libraries: libxml2.so.2: cannot open shared object file: No such file or directory

How do I fix this?

Thank you.

You’ve not noted how you installed viber, but you might try installing libxml2-2.

@hendersj

viber was installed using the .rpm file provided on viber.com.

Running zypper search gave this result.

computer:~ # zypper search libxml2
Loading repository data...
Reading installed packages...

S  | Name                | Summary                                                    | Type
---+---------------------+------------------------------------------------------------+--------
i  | libxml2-16          | A Library to Manipulate XML Files                          | package
   | libxml2-16-32bit    | A Library to Manipulate XML Files                          | package
   | libxml2-devel       | Development files for libxml2, an XML manipulation library | package
   | libxml2-devel-32bit | Development files for libxml2, an XML manipulation library | package
   | libxml2-doc         | Documentation for libxml, an XML manipulation library      | package
i  | libxml2-tools       | Tools using libxml                                         | package
   | perl-Alien-Libxml2  | Install the C libxml2 library on your system               | package
   | python311-libxml2   | Python  Bindings for libxml2-python                        | package
   | python312-libxml2   | Python  Bindings for libxml2-python                        | package
   | python313-libxml2   | Python  Bindings for libxml2-python                        | package

I see no libxml2-2 file.

That’s strange. I had a look on my system earlier, but didn’t look to see where it was installed from, and it seems that it was installed sometime previously and is no longer in the repos.

libxml2-devel includes /usr/lib64/libxml2.so, but doesn’t link it to the library indicated. You can try installing that and manually create the link and see if that works (ie, link libxml2.so.2 to libxml2.so in /usr/lib64.)

@hendersj

It seems that installling libxml2-devel showed the way to make viber work manually.

computer:/usr/lib64 # ls -al libxml2*
lrwxrwxrwx 1 root root      17 Aug 27 16:33 libxml2.so -> libxml2.so.16.0.5
lrwxrwxrwx 1 root root      17 Aug 27 16:33 libxml2.so.16 -> libxml2.so.16.0.5
-rwxr-xr-x 1 root root 1362992 Aug 27 16:33 libxml2.so.16.0.5
lrwxrwxrwx 1 root root      17 Oct 16 00:43 libxml2.so.2 -> libxml2.so.16.0.5

The installation of libxml2-devel created the first symlink:
libxml2.so -> libxml2.so.16.0.5

Seeing this, I created the last symlink libxml2.so.2 -> libxml2.so.16.0.5 manually and viber worked just fine.

I think I can uninstall libxml2-devel now (although I’m not sure it’s necessary) since it doesn’t seem to be needed. It just showed that the only thing needed was the manual creation of the last symlink.

Do you agree with all that or am I missing something?

Thank you.

You can try it and see - the libxml2.so,.16.0.5 library comes from the libxml2-16 package, rather than the -devel package - so if it stays after removing the -devel package, then you should be good. Otherwise, you could just recreate that symlink - but having the -devel package should help maintain it as libxml2 is updated.

The -devel package is pretty small, so probably wouldn’t hurt just to leave it installed.

1 Like

Release 15.6 here

zypper se -si libxml2

results in

S  | Name          | Type    | Version              | Arch   | Repository
---+---------------+---------+----------------------+--------+-------------------------------------------------------------
i  | libxml2-2     | package | 2.10.3-150500.5.32.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15
i  | libxml2-tools | package | 2.10.3-150500.5.32.1 | x86_64 | Update repository with updates from SUSE Linux Enterprise 15

@FredInAriz

Leap 15.6 is the previous version, so libxml2-2 is still there. It seems it was on Tumbleweed too until two days ago. The latest updates probably replaced it with the new version and that caused viber to crash on my system.

Different SO name means two libraries are incompatible. Whether your specific application is using the incompatible parts only the developers of your application may answer. But be prepared to any surprises which you cannot even report anymore because you are now in explicitly unsupported configuration.

Then do not use Tumbleweed. Use distribution that gives you stable environment that external software providers can rely on.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.