Ubuntu 18.4 libQt5Core.so.5: не удается открыть общий объектный файл: нет такого файла или каталога

У меня Ubuntu 18.04.

При запуске виртуальной коробки я получаю сообщение об ошибке

$ virtualbox
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: libQt5Core.so.5: cannot open shared object file: No such file or directory

$ ldd /usr/lib/virtualbox/VirtualBox.so | grep Qt
libQt5X11Extras.so.5 => /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007f7dcec8e000)
libQt5Core.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007f7dcea1f000)
libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007f7dce7c8000)
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found

$ apt-file search libQt5Gui.so.5
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9.5

В системе есть пакеты libqt5*, но я не могу перечислить некоторые из них, используя

$ ls /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
ls: cannot access '/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5': No such file or directory

Как я могу это исправить?

5 ответов

Для меня libqt5gui5 пакет уже был установлен. Я попытался переустановить, как в другом ответе, но все еще получил ошибку:

...
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory

Я обнаружил похожую проблему на https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-libraries:-libQt5Core.so.5

Ядро должно быть как минимум 3.15 по очень реальной, но (для меня) эзотерической причине: "Qt 5.10 использует системный вызов renameat2, который доступен только с ядра 3.15". Если вы хотите прочитать очень длинную ветку, посмотрите здесь:

https://bbs.archlinux.org/viewtopic.php?id=232682

...

sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5

Приведенная выше команда "удаляет" фрагмент кода, который ищет в ядре что-то, чего нет, и позволяет загружать модуль.

Я на самом деле запускаю тестирование Debian (яблочко) 3.12-1-amd64. Путь к моей библиотеке /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 так что команда в моем случае

strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

После этого я смог заставить приложение (Electrum) работать

Для всех "не найденных" библиотек определите их пакет, как вы выполнили поиск в apt-файле для libQt5Gui.so.5. Затем установите пакеты с помощью sudo apt-get install, например:

sudo apt-get install libqt5gui5

Установка пакетов должна поместить библиотеки в правильное место, чтобы они были найдены.


Если файлы отсутствуют, либо они были установлены в неправильном месте (где-то вручную), это неправильная архитектура (i386 вместо amd64, как в /usr/lib/i386-linux-gnu), либо установка не работает должным образом (проверьте состояние пакетов с помощью команды:

dpkg -l | grep libqt5  

Правильно установленные пакеты будут иметь статус "ii".

Вы можете использовать команду locate для поиска файлов, если они находятся где-то еще в системе, но если вы их установили, такая возможность маловероятна.

Попробуйте переустановить все пакеты libqt5. Это помогло мне в подобном случае:

sudo apt install --reinstall libqt5widgets5 libqt5gui5 libqt5dbus5 libqt5network5 libqt5core5a

После переустановки ldd $(which qbittorrent) отображены все библиотеки.so файлы на своих местах.

Установлена ​​зависимость для устранения этой проблемы.

Вы можете захотеть бежать sudo apt --fix-broken install чтобы исправить эти ошибки:

The following packages have unmet dependencies:
 virtualbox-6.1 : Depends: libqt5opengl5 (>= 5.0.2) but it is not going to be installed
                  Depends: libqt5x11extras5 (>= 5.6.0) but it is not going to be installed
                  Depends: libsdl1.2debian (>= 1.2.11) but it is not going to be installed
                  Recommends: libsdl-ttf2.0-0 but it is not going to be installed

У меня есть рабочее решение. Выберите и загрузите пакет .deb для своего дистрибутива с официального сайта: https://wkhtmltopdf.org/downloads.html

Далее мои шаги для Ubuntu 20.04:

  1. wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
  2. sudo apt --fix-broken install ./wkhtmltox_0.12.6-1.focal_amd64.deb
Другие вопросы по тегам