Solvedrobomongo robo3t won't start on Linux without support for C++11 ABI

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.

34 Answers

✔️Accepted Answer

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

Other Answers:

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.

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.