Я видел два вопроса, похожих на мой, но ни один из них не имеет решения, которое работает для меня. Когда я пытаюсь установить VirtualBox из репозиториев Ubuntu, полученная программа выдает ошибку:
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: libQt5Core.so.5: cannot open shared object file: No such file or directory
У меня установлено ядро qt5. Фактически, поскольку я продолжал получать ошибки Qt5, я в конечном итоге сделал
sudo apt install qt*
что не решило мою проблему. Я даже пробовал собрать VirtualBox из исходников, следуяэти инструкции. Когда я впервые попытался собрать из исходников, я также получил ошибки Qt5 на ./configure
шаге. В итоге я установил Qt5 с их сайта и указал сборку на него, вот так:
./configure --disable-hardening --with-qt-dr=/opt/path/to/Qt
Это действительно исправило ошибку Qt, но теперь этот kmk
шаг завершается ошибкой, и если я продолжу следовать инструкциям, то никогда не получу рабочую сборку.
Я также пытался переустановить Ubuntu 3 или 4 раза, но это не помогло.Это один из других вопросов.здесь, на Ask Ubuntu, решение мне не особо помогло, потому что моя система выводит — насколько я могу судить — то же самое, что и работающая система из единственного ответа.Другой вопроснет ответов, и единственное прокомментированное предложение — это sudo apt install -f
то, что я, очевидно, попробовал, и что не исправило мою установку.
Запрошенные правки:
Я попробовал sudo apt install --reinstall libqt5core5a
, но снова получил ту же ошибку.
Выход apt-cache policy virtualbox-qt libqt5core5a
:
virtualbox-qt:
Installed: 5.2.10-dfsg-6
Candidate: 5.2.10-dfsg-6
Version table:
*** 5.2.10-dfsg-6 500
500 http://us.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages
100 /var/lib/dpkg/status
libqt5core5a:
Installed: 5.9.5+dfsg-0ubuntu1
Candidate: 5.9.5+dfsg-0ubuntu1
Version table:
*** 5.9.5+dfsg-0ubuntu1 500
500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
Я также пробовал установить VirtualBox напрямую с сайта Oracle. Установка работает так, как будто работает, но затем выдает ту же ошибку.
Выход file /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.9.5
:
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5: symbolic link to libQt5Core.so.5.9.5
Выход ldd /usr/lib/virtualbox/VirtualBox.so | sort
:
/lib64/ld-linux-x86-64.so.2 (0x00007f7ff093a000)
libasn1.so.8 => /usr/lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f7fe3f24000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f7fe9c5e000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f7fe52ea000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f7fea9e1000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f7febb26000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7fec86e000)
libcurl-gnutls.so.4 => /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4 (0x00007f7feb0c3000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f7fef306000)
libdouble-conversion.so.1 => not found
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f7fe4860000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f7fecc5f000)
libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f7febf7d000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f7fe9e73000)
libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007f7fef50a000)
libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f7fec233000)
libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f7fe5f38000)
libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f7fe8c31000)
libgssapi_krb5.so.2 => /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f7fe89e6000)
libgssapi.so.3 => /usr/lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f7fe4a68000)
libhcrypto.so.4 => /usr/lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f7fe3cee000)
libheimbase.so.1 => /usr/lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f7fe36a0000)
libheimntlm.so.0 => /usr/lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f7fe4453000)
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f7fe61b9000)
libhx509.so.5 => /usr/lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f7fe3456000)
libicudata.so.60 => /usr/lib/x86_64-linux-gnu/libicudata.so.60 (0x00007f7fe69dd000)
libicui18n.so.60 => /usr/lib/x86_64-linux-gnu/libicui18n.so.60 (0x00007f7fea540000)
libicuuc.so.60 => /usr/lib/x86_64-linux-gnu/libicuuc.so.60 (0x00007f7fea189000)
libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f7fe95f6000)
libk5crypto.so.3 => /usr/lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f7fe54ee000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f7fe465c000)
libkrb5.so.26 => /usr/lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f7fe41c6000)
libkrb5.so.3 => /usr/lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f7fe5720000)
libkrb5support.so.0 => /usr/lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f7fe50df000)
liblber-2.4.so.2 => /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f7fe8586000)
libldap_r-2.4.so.2 => /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f7fe8794000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f7fe9a38000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f7fece77000)
libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007f7fe8f96000)
libnghttp2.so.14 => /usr/lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f7fe9813000)
libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f7fe5c09000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f7fe676b000)
libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f7fe91cc000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f7febd5e000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f7feda69000)
libQt5Gui.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Gui.so.5 => not found
libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007f7fed5a3000)
libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007f7fed7fa000)
libQt5Widgets.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5X11Extras.so.5 => /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007f7fee1b4000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f7fe4ec4000)
libroken.so.18 => /usr/lib/x86_64-linux-gnu/libroken.so.18 (0x00007f7fe3ad8000)
librtmp.so.1 => /usr/lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f7fe93da000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f7feb701000)
libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f7fe4ca9000)
libsqlite3.so.0 => /usr/lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f7fe314d000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f7feae59000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f7fed215000)
libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f7fe59f6000)
libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f7fe63ed000)
libwind.so.0 => /usr/lib/x86_64-linux-gnu/libwind.so.0 (0x00007f7fe38af000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f7fee6d3000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f7fec66a000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f7fef796000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f7fec464000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f7feea0c000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f7fef9be000)
libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f7feb340000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f7feb909000)
linux-vdso.so.1 (0x00007ffce770a000)
VBoxKeyboard.so => /usr/lib/virtualbox/VBoxKeyboard.so (0x00007f7fef0f5000)
VBoxRT.so => /usr/lib/virtualbox/VBoxRT.so (0x00007f7feec1e000)
VBoxXPCOM.so => /usr/lib/virtualbox/VBoxXPCOM.so (0x00007f7fee3b8000)
решение1
Я разобрался. По сути, мне пришлось сделать sudo apt install --reinstall package
много разных пакетов, пока это наконец не заработало. Я понятия не имею, почему, но просто установить необходимые пакеты было недостаточно. Мне пришлось установить, а затем переустановить. Лично я сделал:
sudo apt install --reinstall libqt5*
sudo apt install --reinstall libdouble-conversion*
- Затем я получил сообщение об ошибке, сообщающее о том, что плагин xcb не работает, и основываясь на выводе,
ldd /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so
я сделал следующее: sudo apt install libxcb-xinerama0*
sudo apt install --reinstall libxcb-xinerama0*
и тогда VirtualBox начал работать. Для тех, кто читал мои комментарии о том, что gparted тоже не работает, аналогичный процесс запустил его. Похоже, это должно быть сделано менеджером пакетов.