web-dev-qa-db-fra.com

Virtualbox ne se lance pas sur Ubuntu 18.04 - Problème avec Qt lib

Après une nouvelle installation d’Ubuntu 18.04 (avec GNOME), j’ai installé virtualbox via Sudo apt-get install virtualbox.

Cependant, quand je le lance depuis la ligne de commande, je reçois:

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

Quand j'ai vérifié les bibliothèques Qt, je peux voir qu'elles sont correctement installées car elles ont le statut ii.

dpkg -l | grep libqt5

ii  libqt5concurrent5:AMD64                    5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 concurrent module
ii  libqt5core5a:AMD64                         5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 core module
ii  libqt5dbus5:AMD64                          5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 D-Bus module
ii  libqt5gui5:AMD64                           5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 GUI module
ii  libqt5network5:AMD64                       5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 network module
ii  libqt5opengl5:AMD64                        5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 OpenGL module
ii  libqt5opengl5-dev:AMD64                    5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 OpenGL library development files
ii  libqt5printsupport5:AMD64                  5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 print support module
ii  libqt5sql5:AMD64                           5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 SQL module
ii  libqt5sql5-sqlite:AMD64                    5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 SQLite 3 database driver
ii  libqt5svg5:AMD64                           5.9.5-0ubuntu1                      AMD64        Qt 5 SVG module
ii  libqt5test5:AMD64                          5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 test module
ii  libqt5widgets5:AMD64                       5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 widgets module
ii  libqt5x11extras5:AMD64                     5.9.5-0ubuntu1                      AMD64        Qt 5 X11 extras
ii  libqt5x11extras5-dev:AMD64                 5.9.5-0ubuntu1                      AMD64        Qt 5 X11 extras development files
ii  libqt5xml5:AMD64                           5.9.5+dfsg-0ubuntu1                 AMD64        Qt 5 XML module

Cependant, les bibliothèques suivantes ne sont pas trouvées:

$ ldd /usr/lib/virtualbox/VirtualBox.so | grep not
libQt5Core.so.5 => not found
libQt5Gui.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
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found

Pareil ici:

$ ldd /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 | grep not
ldd: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: No such file or directory

Également:

$ dpkg -S /usr/bin/virtualbox
virtualbox-qt: /usr/bin/virtualbox

J'ai ensuite fait une autre recherche concernant Qt et ai atteint ce fil de discussion, mais la solution ne fonctionne pas non plus: buntu 18.4 libQt5Core.so.5: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ni répertoire de ce type

Vous pouvez également voir où les fichiers de la bibliothèque pointent:

ls -alht /usr/lib/x86_64-linux-gnu/libQt5*
lrwxrwxrwx 1 root root   24 Apr 14 21:31 /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 -> libQt5X11Extras.so.5.9.5
lrwxrwxrwx 1 root root   24 Apr 14 21:31 /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5.9 -> libQt5X11Extras.so.5.9.5
-rw-r--r-- 1 root root  15K Apr 14 21:31 /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 14 21:23 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5 -> libQt5Svg.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 14 21:23 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.9 -> libQt5Svg.so.5.9.5
-rw-r--r-- 1 root root 342K Apr 14 21:23 /usr/lib/x86_64-linux-gnu/libQt5Svg.so.5.9.5
lrwxrwxrwx 1 root root   25 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5 -> libQt5Concurrent.so.5.9.5
lrwxrwxrwx 1 root root   25 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5.9 -> libQt5Concurrent.so.5.9.5
-rw-r--r-- 1 root root  27K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so.5.9.5
lrwxrwxrwx 1 root root   37 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFSDeviceIntegration.so.5 -> libQt5EglFSDeviceIntegration.so.5.9.5
lrwxrwxrwx 1 root root   37 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFSDeviceIntegration.so.5.9 -> libQt5EglFSDeviceIntegration.so.5.9.5
-rw-r--r-- 1 root root 714K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFSDeviceIntegration.so.5.9.5
lrwxrwxrwx 1 root root   30 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFsKmsSupport.so.5 -> libQt5EglFsKmsSupport.so.5.9.5
lrwxrwxrwx 1 root root   30 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFsKmsSupport.so.5.9 -> libQt5EglFsKmsSupport.so.5.9.5
-rw-r--r-- 1 root root  96K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5EglFsKmsSupport.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 -> libQt5Gui.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9 -> libQt5Gui.so.5.9.5
-rw-r--r-- 1 root root 5.4M Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9.5
lrwxrwxrwx 1 root root   21 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 -> libQt5OpenGL.so.5.9.5
lrwxrwxrwx 1 root root   21 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.9 -> libQt5OpenGL.so.5.9.5
-rw-r--r-- 1 root root 346K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5.9.5
lrwxrwxrwx 1 root root   27 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 -> libQt5PrintSupport.so.5.9.5
lrwxrwxrwx 1 root root   27 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5.9 -> libQt5PrintSupport.so.5.9.5
-rw-r--r-- 1 root root 443K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5 -> libQt5Sql.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5.9 -> libQt5Sql.so.5.9.5
-rw-r--r-- 1 root root 292K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Sql.so.5.9.5
lrwxrwxrwx 1 root root   19 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Test.so.5 -> libQt5Test.so.5.9.5
lrwxrwxrwx 1 root root   19 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Test.so.5.9 -> libQt5Test.so.5.9.5
-rw-r--r-- 1 root root 217K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Test.so.5.9.5
lrwxrwxrwx 1 root root   22 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 -> libQt5Widgets.so.5.9.5
lrwxrwxrwx 1 root root   22 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9 -> libQt5Widgets.so.5.9.5
-rw-r--r-- 1 root root 6.3M Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.9.5
lrwxrwxrwx 1 root root   21 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 -> libQt5XcbQpa.so.5.9.5
lrwxrwxrwx 1 root root   21 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5.9 -> libQt5XcbQpa.so.5.9.5
-rw-r--r-- 1 root root 1.1M Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5 -> libQt5Xml.so.5.9.5
lrwxrwxrwx 1 root root   18 Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.9 -> libQt5Xml.so.5.9.5
-rw-r--r-- 1 root root 240K Apr 13 00:24 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.9.5

De l'aide?

Merci cmak.fr pour m'avoir orienté vers la solution. J'ai dû réinstaller les packages libqt5core5a et libdouble-conversion1. Notez que ceci a également supprimé virtualbox-qt, qui devait être réinstallé:

Sudo apt-get remove libqt5core5a
Sudo apt-get install libqt5core5a
Sudo apt-get remove libdouble-conversion1
Sudo apt-get install libdouble-conversion1
Sudo apt-get install virtualbox-qt

À la fin, on peut vérifier avec ldd /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 pour voir s'il y a d'autres dépendances manquantes. Si c'est le cas, essayez de trouver les noms de paquet correspondants et réinstallez-les.

Dans mon cas (nouvelle installation d'Ubuntu 18.10), ldd a montré que seule la bibliothèque libQt5Widgets.so.5 était manquante et qu'exécuter virtualbox afficherait quelque chose comme ceci:

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

Donc c'était assez proche de l'erreur de l'OP. Donc je devais:

Sudo apt install --reinstall libqt5widgets5

Mais ensuite, j'ai eu une erreur assez similaire à l'une des précédentes dans ce fil de discussion:

Qt FATAL: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.

Aborted (core dumped)

Après avoir augmenté le niveau de débogage avec:

export QT_DEBUG_PLUGINS=1

Cela montrait que je devais installer deux autres dépendances manquantes:

Sudo apt install --reinstall libqt5dbus5
Sudo apt install --reinstall libxcb-xinerama0
1
iwasz

Juste pour ajouter des informations, voici les étapes que j'ai suivies:

# Attempt to run virtualbox from terminal 
$ virtualbox

Qt FATAL: This application failed to start because it could not find or load
the Qt platform plugin "xcb" in "".

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen,
vnc, xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

Trouver le chemin de l'exécutable

$ which virtualbox
/usr/bin/virtualbox

Trouver les bibliothèques partagées du programme

$ ldd /usr/bin/virtualbox
not a dynamic executable

Utiliser strace

$ strace  /usr/bin/virtualbox
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "**/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms**".

Available platform plugins are:....{ many plugins here }

La prochaine chose que j'ai faite (comme suggéré par un autre site) était:

$ Sudo vim /etc/ld.so.conf.d/libc.conf
# libc default configuration
#/usr/local/lib         # comment it out this line

Procédez ensuite comme suit pour mettre à jour le cache de la bibliothèque.

$ Sudo ldconfig

Puis essayez de réexécuter VirtualBox à partir du terminal

$ virtualbox

Enfin ça marche !!!

J'espère que cela aide à réparer votre VirtualBox. Pas sûr que je doive décommenter la ligne /usr/local/lib vue du dessus.

Oui, j'ai décommenté la ligne

/ usr/local/lib # commente cette ligne

et tout continue à bien fonctionner. J'ai fait un redémarrage pour vérifier que tout va bien.

À votre santé

0
malypetu