probonopd / linuxdeployqt

Makes Linux applications self-contained by copying in the libraries and plugins that the application uses, and optionally generates an AppImage. Can be used for Qt and other applications
Other
2.17k stars 407 forks source link

Ubuntu + QtWebEngine 5.9.4 + linuxdeployqt causes corrupted browser applications #265

Open gyee-penguin opened 6 years ago

gyee-penguin commented 6 years ago

I've been working with QtWebEngine and linuxdeployqt to produce a browser application using QT 5.9.2 in CentOS 7 and Ubuntu 14 and 16. With this stack things work normally.

I have noticed that in Ubuntu 14 and 16, however, upgrading to QT 5.9.4 breaks the browser -- HTML and source code appears in the browser and page formatting is broken if I delete the QT 5.9.4 build environment (/opt/Qt/5.9.4) before executing the binary.

This does not happen with QT 5.9.4 and CentOS 7.

Any ideas as to why is the behavior between CentOS 7 and Ubuntu 14 different for just 5.9.4, but not 5.9.2?

probonopd commented 6 years ago

Where is your Qt 5.9.4 coming from?

I have noticed that in Ubuntu 14 and 16, however, upgrading to QT 5.9.4 breaks the browser

Just to get this right, when updating Qt from 5.9.2 to 5.9.4 in CentOS 7 and building AppImages there, then the resulting AppImages no longer work correctly in Ubuntu 14 and 16?

gyee-penguin commented 6 years ago

For both CentOS and Ubuntu: QT 5.9.4 is installed as root via the online installer at (https://www.qt.io/download) into /opt/Qt/5.9.4. QT 5.9.2 is installed as root the same way into /opt/Qt/5.9.2.

I do not compile on CentOS and then execute the resulting binary on Ubuntu or vice versa. Instead...

(1) When application is both compiled and executed CentOS 7: Compiled with QT 5.9.2 is OK. Compiled with QT 5.9.4 is OK.

(2) When application is both compiled and executed Ubuntu 14 / 16: Compiled with QT 5.9.2 is OK. Compiled with QT 5.9.4 has HTML issue above.

probonopd commented 6 years ago

Just for fun, what happens if you compile on Ubuntu 14.04 with https://launchpad.net/~beineri/+archive/ubuntu/opt-qt594-trusty?

gyee-penguin commented 6 years ago

Just tried this. The result is the same unfortunately. I tried running my application from within the same directory as the binary and the qt.conf file and the qt browser shows raw HTML. When I run it from outside the directory (and starts looking at /opt/qt59/... instead), it behaves correctly.