When I start robo3t (1.1.1-linux-x86_64-c93c6b0), I am seeing this error:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".Available platform plugins are: xcb, xcb.
Reinstalling the application may fix this problem.
I double checked the presence of xcb on my system and it is there. When running with QT_DEBUG_PLUGINS=1, we're seeing a few more hints, specifically this line:
loaded library "/home/patrick/Downloads/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/home/patrick/Downloads/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so" : "Cannot load library /home/patrick/Downloads/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so: (/usr/lib/x86_64-linux-gnu/libboost_system.so.1.62.0: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference)"
According to https://stackoverflow.com/a/36816933/3392319, this is caused by the usage of the new C++11 ABI, which is not supported on my (and probably many other) systems yet.
My system is a x86_64 Ubuntu Linux zesty with a 4.10.0-21-generic kernel.
Idem with the kernel 4.10.0-22-generic
idem.
Error:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Detail:
QFactoryLoader::QFactoryLoader() checking directory path "/opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so"
Found metadata in lib /opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 329472
}
Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/opt/robo3t-1.1.1-linux-x86_64-c93c6b0/bin/platforms" ...
loaded library "/opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so" : "Cannot load library /opt/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so: (/usr/lib/x86_64-linux-gnu/libboost_system.so.1.62.0: symbol _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference)"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)
My System:
Distributor ID: Ubuntu
Description: Ubuntu 17.04
Release: 17.04
Codename: zesty
Kernel: 4.10.0-22-generic
Hey guys, sorry for the inconvenience, seems like it is seen only on 17.04 and seems to work on 16.04 and 14.04. We are investigating the problem with high importance.
The problem exists also on Ubuntu 17.10.
Hi guys, can you try the method below? It worked in our labs.
mkdir ~/robo-backup
mv robo3t-1.1.1-linux-x86_64-c93c6b0/lib/libstdc++* ~/robo-backup/
robo3t-1.1.1-linux-x86_64-c93c6b0/bin/robo3t
It works for me on ubuntu 17.04 x86_64.
It also works for me on ubuntu 17.04 x86_64. Thanks! :1st_place_medal:
It also works for me on Ubuntu 17.04. Thank You. It solved my problem.
Worked for me on ubuntu 17.10 :-)
it also works for me!
my system:
Ubuntu 17.04
Codename: zesty
Kernel: 4.10.0-22-generic
Yet another reason you should just have a PPA available, where packages are built on the actual system they are released for. At the very least, make a snap package, that includes all of the libraries and works across all Linux distributions.
@simsekgokhan thank you very much, your instructions worked for me :)
I have the same XCB problem on Robo3T v1.1 with Ubuntu 16.04 LTS with kernel 4.8, gcc 5.4 and MongoDB 3.4.6.
I unzip the tar to directory /opt and change the owner to root:
sudo mv ./robo3t-1.1.1-linux-x86_64-c93c6b0 /opt
cd /opt
sudo chown -R root:root ./robo3t-1.1.1-linux-x86_64-c93c6b0
When I run the app I got the XCB error messages:
./robo3t-1.1.1-linux-x86_64-c93c6b0/bin/robo3t
Move the libstdc++* dependencies to another directory also not work.
I think not be just rebuild and recompile the project, maybe need review the dependencies for Ubuntu 16.04 LTS release.
I always used Robomongo in LTS releases with no problem, before Studio 3T acquisition.
Please, consider packaging a single Snap for all Linux distros and releases!
Your instruction worked for me also!
Worked on Ubuntu 16.04 too, thanks!
Edit: I found a workaround on my system. I have Linux Mint which is Ubuntu based. However it is tied to Xenial (QT Libs: 5.5) and it seems robo3t is tied to Qt 5.7. I tried a bunch of things including installing Qt 5.9 in opt (and got incompatible version errors) and finally ended up changing my mint sources to pull from the Zesty repositories so I could install Qt 5.7.
Once that happened, I got past the xcb error but launch still failed with:
Cannot mix incompatible Qt library (version 0x50701) with this library (version 0x50700)
Apparently my Qt was too new by one version. This incompatibility was due to the Qt libs bundled with robo3t. Turns out you can just get rid of these and have robo3t use your system's Qt libs. So, finally, the workaround is as follows, from your robo3t directory:
mkdir libsbackup
mv lib/libQt* libsbackup
mv lib/libstdc* libsbackup
./robo3t
I think xcb depends on at least Qt 5.7.0 but I am not sure - I may not have had to update to zesty to get Qt 5.7 and have been fine with Qt 5.5 if I had gotten rid of the bundled Qt libs in the first place.
Hopes this helps!
[Old Post]
This workaround does not work for me. I am not getting the c++ errors. Are there dependencies besides qt5 that we need?
QT_DEBUG_PLUGINS=1 ./robo3t
QFactoryLoader::QFactoryLoader() checking directory path "/home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so"
Found metadata in lib /home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 329472
}
Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/bin/platforms" ...
loaded library "/home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so"
QLibraryPrivate::loadPlugin failed on "/home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so" : "Cannot load library /home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so: (/usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: version `Qt_5_PRIVATE_API' not found (required by /home/x/code/robo3t-1.1.1-linux-x86_64-c93c6b0/lib/platforms/libqxcb.so))"
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
Abandon
Removing libstdc++ let robo3t work on my system:
Ubuntu 16.04.3 LTS
Kernel 4.4.0-89-generic
Thanks a lot
Didn't work on my Zesty Dockerfile, could somebody help?
FROM ubuntu:zesty
RUN apt-get update
RUN apt-get install -y wget libglu1-mesa libglib2.0-0 "^libxcb.*" libx11-xcb-dev libxrender-dev
WORKDIR /home/robomongo
RUN wget --progress=bar:force:noscroll https://download.robomongo.org/1.1.1/linux/robo3t-1.1.1-linux-x86_64-c93c6b0.tar.gz \
&& tar -xzvf robo3t-1.1.1-linux-x86_64-c93c6b0.tar.gz \
&& rm robo3t-1.1.1-linux-x86_64-c93c6b0.tar.gz \
&& rm robo3t-1.1.1-linux-x86_64-c93c6b0/lib/libstdc++*
ENTRYPOINT ./robo3t-1.1.1-linux-x86_64-c93c6b0/bin/robo3t
Nice, moving the C++ lib works for me too. I'm using Mint 18
Question is if such move will not affect other features. Thanks
Isn't it missing a warning about this on the download page ?
I was getting the same error on Ubuntu 16.04 LTS:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
But, after downloading and unzipping a fresh copy, and moving libstdc++* out of the libs directory as directed, robo3t ran without error. Thanks!
Using Linux Mint 18.2 (Xenial based) and can't launch either, same error. Reverting to robomongo 1.0...
libpng warning: iCCP: known incorrect sRGB profile
QWidget::setMinimumSize: (/Robomongo::QueryWidget::CustomDockWidget) Negative sizes (0,-1) are not possible
QWidget::setMinimumSize: (/Robomongo::QueryWidget::CustomDockWidget) Negative sizes (0,-1) are not possible
QWidget::setMinimumSize: (/Robomongo::QueryWidget::CustomDockWidget) Negative sizes (0,-1) are not possible
ubuntu16.04 安装robo3t出现的,求告知!!!
@simsekgokhan hayatımı kurtardın, teşekkürler :+1:
Contrary to the claim that this wasn't happening in 16.04 I just had this issue in 16.04. Just thought I would put that out there. However, the above fix worked for me like a charm. Thanks, devs.
Running Ubuntu 16.04 and deleting the libstd c++ inside the lib folder worked for me.
$ rm libstdc++*
Removing libstdc++ still won't work for my Ubuntu 16.04 inside docker
Hi All, sorry for the inconvenience and for the delay. We have an enhancement to fix this problem. But, we cannot verify our fix for 16.04 (we can for 17.04), since we are unable to reproduce in our systems. We are asking your help to test the following beta for us (fingers crossed). Thanks in advance.
So, an interesting case. I'm not sure, but it seems like the directory the command is run from makes a difference.
I unpacked the file, running ./bin/robo3t from the root fails, but cd-ing into lib and running relative to that directory works.
✘-ABRT ~/Installers/robo3t-1.1.1-linux-x86_64-c93c6b0
22:32 $ ./bin/robo3t
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
Aborted (core dumped)
✘-ABRT ~/Installers/robo3t-1.1.1-linux-x86_64-c93c6b0
22:32 $ cd ../lib
bash: cd: ../lib: No such file or directory
✘-1 ~/Installers/robo3t-1.1.1-linux-x86_64-c93c6b0
22:33 $ cd lib
✔ ~/Installers/robo3t-1.1.1-linux-x86_64-c93c6b0/lib
22:33 $ ../bin/robo3t
<<< AT THIS POINT ROBO3T IS RUNNING >>>
I'm experiencing this issue also on Ubuntu 16.04.
Br,
Andrea
worked for me as well on Ubuntu 16.04, Thanks
Just got hit by that. Removing the libstdc++ so files fixed it for me.
Shameless plug: we got affected by such issues as well at work when shipping Genymotion. I wrote an article about it, with some hints: https://medium.com/genymobile/if-appimage-flatpak-and-snap-dont-cut-it-you-can-roll-your-own-6175177d6eef. Hope it helps.
I am facing the same issue on Ubuntu 14.04 for Robo 3T package (robo3t-1.1.1-linux-x86_64-c93c6b0.tar.gz) but it did not get resolved even after removing lib/libstdc++.
I am getting below two error on running ./robo3t after removal of libstdc++. in lib
./robo3t: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./robo3t)
./robo3t: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./robo3t)
Most helpful comment
Hi guys, can you try the method below? It worked in our labs.