Virtualbox not launching on Ubuntu 18.04 - Qt lib problem

After doing a fresh install of Ubuntu 18.04 (using GNOME), I installed virtualbox both through sudo apt-get install virtualbox

However, when I run it from the command line I get:

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

When I checked for Qt libs, I can see that they are properly installed since they have ii status.

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

However, the following libraries are not found:

$ 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

Same here:

$ 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

Also:

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

I then did a further search regarding Qt and reached this thread, but the solution doesn't work either: Ubuntu 18.4 libQt5Core.so.5: cannot open shared object file: No such file or directory

You can also see where the library files are pointing to:

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

Any help?


Solution 1:

Thanks cmak.fr for pointing me towards the solution. I had to reinstall the the libqt5core5a and libdouble-conversion1 packages. Note that this also removed virtualbox-qt, which had to be reinstalled:

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

At the end, one can check with ldd /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 to see if there are other missing dependencies. If there are, try finding the corresponding package names and reinstall them.

Solution 2:

In my case (fresh Ubuntu 18.10 install) ldd showed that only libQt5Widgets.so.5 was missing, and running virtualbox would show something like this:

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

So it was pretty close to OP's error. So I had to:

sudo apt install --reinstall libqt5widgets5

But then I had an error pretty similar to one of above in this thread:

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)

After rising debug level with :

export QT_DEBUG_PLUGINS=1

It showed that I had to install another two missing dependencies:

sudo apt install --reinstall libqt5dbus5
sudo apt install --reinstall libxcb-xinerama0

Solution 3:

On updated Ubuntu 18.04, I had a similar problem as above, with the message when running virtualbox on terminal:

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.

As suggested on answers above, I tried removing, reinstalling and no success. After running ldd against virtualbox binary, I found out that NO Qt library was actually missing.

The catch was that ld was in fact using a different version of Qt libraries from the one virtualbox expected. The reason for this was I once installed Qt5 at default place (/opt/Qt5) with all of its libraries for version 5.13.2. Of course, at that time, I had to update ld.conf in order for the Qt libraries of version 5.13.2 to be system-wide visible.

It took many hours to find out what was happening, so I shared it here to help people with this problem in future, even in different versions of Ubuntu, virtualbox and Qt software.

So, before I corrected the problem: (only listed one of Qt libraries for brevity)

libQt5Core.so.5 => /opt/Qt/5.13.2/gcc_64/lib/libQt5Core.so.5 (0x00007fd1f5a62000)

After I corrected the problem:

libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f2518473000)

virtuabox in Ubuntu 18.04 expects Qt libraries of version 5.9.5, as the link above will reach file

/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.9.5

Now virtualbox works perfectly!