QupZilla / qupzilla

Cross-platform Qt web browser
http://www.qupzilla.com
GNU General Public License v3.0
1.12k stars 348 forks source link

2.2.5 AppImage does not include plugins? #2584

Open yurytch opened 6 years ago

yurytch commented 6 years ago

1) The 2.2.5 AppImage does not even start on Slackware, because of xcb plugin not loading (dependencies absent/'not visible'? diagnostic output follows) 2) If I 'cheat' by using LD_LIBRARY_PATH=/usr/lib64/qt5/plugins, AppImage starts, but YouTube shows me (https://www.youtube.com/html5) I have no H.264 capability. 3) Trying to start with smth. like LD_LIBRARY_PATH=/usr/lib64/qt5/plugins:/usr/lib64 (having /usr/lib64 there is critical) produces error as in p.1

Cannot load library /d/tmp/.mount_XnRDX0/plugins/platforms/libqxcb.so: (/usr/lib64/libQt5XcbQpa.so.5: symbol _ZTI18QPlatformClipboard, version Qt_5 not defined in file libQt5Gui.so.5 with link time reference) QLibraryPrivate::loadPlugin failed on "/d/tmp/.mount_XnRDX0/plugins/platforms/libqxcb.so" : "Cannot load library /d/tmp/.mount_XnRDX0/plugins/platforms/libqxcb.so: (/usr/lib64/libQt5XcbQpa.so.5: symbol _ZTI18QPlatformClipboard, version Qt_5 not defined in file libQt5Gui.so.5 with link time reference)" QFactoryLoader::QFactoryLoader() checking directory path "/d/tmp/.mount_XnRDX0/plugins/platforms/platforms" ... QFactoryLoader::QFactoryLoader() checking directory path "/d/tmp/.mount_XnRDX0/plugins/platforms" ... QFactoryLoader::QFactoryLoader() looking at "/d/tmp/.mount_XnRDX0/plugins/platforms/libqxcb.so" "Cannot load library /d/tmp/.mount_XnRDX0/plugins/platforms/libqxcb.so: (/usr/lib64/libQt5XcbQpa.so.5: symbol _ZTI18QPlatformClipboard, version Qt_5 not defined in file libQt5Gui.so.5 with link time reference)" not a plugin QFactoryLoader::QFactoryLoader() checking directory path "/d/tmp/.mount_XnRDX0/platforms" ... Fatal: This application failed to start because it could not find or load the Qt platform plugin "xcb" in "/d/tmp/.mount_XnRDX0/plugins/platforms".

Available platform plugins are: xcb (from /d/tmp/.mount_XnRDX0/plugins/platforms).

ghost commented 6 years ago

You should have some Qt environment variables set and it attempting to use system Qt libraries instead of embedded ones. So you must unset them in order to run Appimage! About html5, you need self-compiled QtWebEngine with proprietary codecs enabled (not Appimage).

yurytch commented 6 years ago

Well, just unsetting QT5DIR did nothing for me, I still need that LD_LIBRARY_PATH setting to just start the QZ up. And are you saying, that to use that AppImage (which's supposedly fairly self-sufficient?) I have to rebuild something else in my system?

ghost commented 6 years ago

Nope, i'm saying that if you want to use AppImage, you must have not settings that prevent it to run! But i'm saying that if you want more then provided, you have to build it yourself.

yurytch commented 6 years ago

Have to repeat myself, QZ doesn't even start up if the only thing I'm doing is UNsetting the single QT5-related variable (QT5DIR). Still need LD_LIBRARY_PATH set like in p.1. To sum it up, the AppImage looks like too much effort. Thanks for answering, all the same.

ghost commented 6 years ago

Hehe, and who makes it effort... :smiley:

jamesqf commented 6 years ago

I'm having a similar problem on OpenSuSE 42.3. I tried running the appimage from within a shell script that unsets all QT environment vars, but still get the message about "could not find or load the Qt plugin "xcb"".

I also tried setting the LD_LIBRARY_PATH as in the OP, but get the same result.

I'd be happy to download the OpenSuSE specific version, but the page says to download by clicking the links below, and there are no links visible.

ghost commented 6 years ago

@nowrep Just for the record - i have tested the Appimage on newly installed both systems described above and it starts and works flawlessly, so i'm suggesting you consider closing this issue as invalid. Nobody here can be responsible for bad configured systems...

nowrep commented 6 years ago

Well, it tries to load system Qt libraries and it fails, but it should be loading the libs in AppImage. There is a correct RPATH set on each binary and library, but your (@yurytch ) loader doesn't honor that.

So this should be general issue with all AppImages on your system, can you please try other AppImages?

Also please post output of simply trying to run ./QupZilla-2.2.5.AppImage without any env vars stuff, that will not help anything (quite the opposite).

@cranes-bill Also why is this in AppRun:

QT_QPA_PLATFORM_PLUGIN_PATH="$QT_DIR/plugins/platforms"
QT_PLUGIN_PATH="$QT_DIR/plugins"
QML2_IMPORT_PATH="$QT_DIR/qml"

This should not be needed as there is qt.conf file with correct paths. And export QT_DIR is useless too.

ghost commented 6 years ago

Also why is this in AppRun:

This is just like that from the beginning. Anyway, not that is the problem here.

jamesqf commented 6 years ago

@cranes-bill: Re "Nobody here can be responsible for bad configured systems...". True, but you might try telling us what a GOOD configured system is. For instance, mine is a new install (last couple of weeks), via OpenSuSE's YAST2 installer, with basic development packages (C & Fortran compilers, some math libraries, Octave &c). Only real difference is that I use the FVWM2 window manager instead of one of the "desktops" they offer. So what could be the problem? If an appimage is supposed to include all the libraries that the app uses, should it even matter what the system has on it?

ghost commented 6 years ago

If an appimage is supposed to include all the libraries that the app uses, should it even matter what the system has on it?

Nope, Appimage does not include all the libraries that the app uses, it only has Libcrypto and Qt libraries included. You should have installed any other libraries needed by QupZilla or Qt, so you might have missed some of them. If you want, i can post later a list of the installed packages from the system that i used for testing...

jamesqf commented 6 years ago

@cranes-bill: A list would be very much appreciated. I would like to get a recent version of qupzilla working on this system, and it seems like the appimage is the only way, other than trying to compile from source. That didn't work too well the last time I tried it, a year or so ago...

nowrep commented 6 years ago

Alright, instead of arguing please post terminal output when starting the AppImage, or I am closing this issue.

ghost commented 6 years ago

@jamesqf Here is appimage 2.2.5 running under fresh install of leap 42.3 + fvwm2...

btw, @nowrep, take a look on bookmarks bar and buttons scaling, it's happens while windows size lower than 700px by height.

nowrep commented 6 years ago

@Diablopc Please report bugs in separate issues and not hijack exisitng ones.

ghost commented 6 years ago

@nowrep and not hijack exisitng ones

this screenshot was made to show working appimage under SUSE leap + fvwm2 =)

nowrep commented 6 years ago

Yes, but this is like third time you reported some bug in unrelated issue, and it makes tracking those bugs hard as I can't just close it from commit. Thanks.

ghost commented 6 years ago

@Diablopc, thanks, that shows that i do not invent. Also i'm attaching few files and will do not post comments here any longer.

qt-debug-plugins.txt suse-env-vars.txt suse-pkgs-list-sorted.txt