Viber перестал запускаться в Debian 12 после обновления до версии 21.0.0.1. При запуске в консоли выдаёт ошибку
$ /opt/viber/Viber qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: minimal, minimalegl, vnc, wayland-egl, wayland, eglfs, offscreen, xcb, linuxfb. zsh: IOT instruction /opt/viber/Viber
Для отладки проблем с плагинами Qt нужно запустить приложение с переменной окружения QT_DEBUG_PLUGINS=1
$ QT_DEBUG_PLUGINS=1 /opt/viber/Viber [output skipped] qt.core.plugin.factoryloader: Got keys from plugin meta data QList("linuxfb") qt.core.plugin.factoryloader: checking directory path "/opt/viber/platforms" ... qt.core.library: "/opt/viber/plugins/platforms/libqxcb.so" cannot load: Cannot load library /opt/viber/plugins/platforms/libqxcb.so: (libxcb-cursor.so.0: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога) qt.core.plugin.loader: QLibraryPrivate::loadPlugin failed on "/opt/viber/plugins/platforms/libqxcb.so" : "Cannot load library /opt/viber/plugins/platforms/libqxcb.so: (libxcb-cursor.so.0: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)" qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: minimal, minimalegl, vnc, wayland-egl, wayland, eglfs, offscreen, xcb, linuxfb. zsh: IOT instruction QT_DEBUG_PLUGINS=1 /opt/viber/Viber
Xcb плагин не может найти libxcb-cursor.so.0, нужно проверить зависимости у /opt/viber/plugins/platforms/libqxcb.so
$ ldd /opt/viber/plugins/platforms/libqxcb.so | grep 'not found' libxcb-cursor.so.0 => not found
Теперь нужно найти пакет, который предоставляет libxcb-cursor.so.0 и установить его
$ apt-file search libxcb-cursor.so.0 libxcb-cursor0: /usr/lib/x86_64-linux-gnu/libxcb-cursor.so.0 libxcb-cursor0: /usr/lib/x86_64-linux-gnu/libxcb-cursor.so.0.0.0 $ sudo apt install libxcb-cursor0
После этого Viber стал запускаться, но это не гарантирует что нет других проблем с зависимостями. Пробую найти все разделяемые библиотеки из пакета Viber и проверить их зависимости
$ for i in $(find /opt/viber -type f -name '*.so*'); do ldd $i | grep -q 'not found' && (echo $i; ldd $i | grep 'not found'); done /opt/viber/plugins/imageformats/libqtiff.so libtiff.so.5 => not found /opt/viber/plugins/imageformats/libqmng.so libmng.so.2 => not found
Аналогично ищу какие пакеты предоставляют эти библиотеки и устанавливаю их
$ apt-file search libmng.so.2 libmng2: /usr/lib/x86_64-linux-gnu/libmng.so.2 libmng2: /usr/lib/x86_64-linux-gnu/libmng.so.2.0.2 $ sudo apt install libmng2
Поиск libtiff.so.5 ничего не дал, т.к. в Debian 12 поставляется libtiff.so.6, но нужный пакет есть в Debian 11
$ wget -P /tmp http://security.debian.org/debian-security/pool/updates/main/t/tiff/libtiff5_4.2.0-1+deb11u5_amd64.deb http://ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp6_0.6.1-2.1+deb11u2_amd64.deb $ sudo dpkg -i /tmp/libwebp6_0.6.1-2.1+deb11u2_amd64.deb /tmp/libtiff5_4.2.0-1+deb11u5_amd64.deb
Ещё раз проверяю зависимости библиотек Viber
$ sudo dpkg -i /tmp/libwebp6_0.6.1-2.1+deb11u2_amd64.deb /tmp/libtiff5_4.2.0-1+deb11u5_amd64.deb
В этот раз ничего не вывело и значит все зависимости установлены.
Комментариев нет:
Отправить комментарий