chembrows / ChemBrows

ChemBrows keeps you up-to-date with scientific literature
http://www.chembrows.com
GNU Lesser General Public License v3.0
5 stars 4 forks source link

Cannot find xcb plugin #21

Open Co-eus opened 3 years ago

Co-eus commented 3 years ago

After making Chembrows executable on xubuntu 20.04, ./Chembrows yields

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)

I've tried several of the apt install XX (like this) fixes suggested when googling that error, but none of them helped. A lot of other fixes are suggested when looking for "...failed to start...not find...xcb", but there are so many that I did not wanted to try out fixes randomly...

Using export QT_DEBUG_PLUGINS=1, I was able to pin down the error a bit more:

QFactoryLoader::QFactoryLoader() checking directory path "/home/<user>/code/ChemBrows-1.2-nix64/platforms" ...
Cannot load library /home/<user>/code/ChemBrows-1.2-nix64/PyQt5/Qt/plugins/platforms/libqxcb.so: (/home/<user>/code/ChemBrows-1.2-nix64/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16))
QLibraryPrivate::loadPlugin failed on "/home/<user>/code/ChemBrows-1.2-nix64/PyQt5/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /home/<user>/code/ChemBrows-1.2-nix64/PyQt5/Qt/plugins/platforms/libqxcb.so: (/home/<user>/code/ChemBrows-1.2-nix64/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib/x86_64-linux-gnu/libpng16.so.16))"

But now I'm a bit stuck :/

JPFrancoia commented 3 years ago

Thanks for reporting, very much appreciated.

Since I'm not an academic anymore it has been hard for me to find time to maintain ChemBrows, I'm sorry.

If I had to guess why you encounter this problem, I'd say it's because ChemBrows relies on some system libraries to work. In your case the libz library (version 1.2.9) is probably missing. You might be able to solve this problem by installing libz with apt, but sometimes applications require a specific version of a library. And if your distribution is "too far ahead" for the app you're trying to run, the library provided by apt will not be compatible.

I will try and find time to do a bit of maintenance on ChemBrows but I can't promise anything :/

Co-eus commented 3 years ago

Since I'm not an academic anymore it has been hard for me to find time to maintain ChemBrows, I'm sorry.

I completely know what you mean, but I very much appreciate that you are trying :)

You might be able to solve this problem by installing libz with apt

I've tried, but I'm not sure about what the correct package would be...