Skip to main content
Topic: New Qt5 5.14.2 breaks system (Read 1417 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

New Qt5 5.14.2 breaks system

The partial upgrade of Qt5 to 5.14.2 from April 3rd 2020 broke my system. A login to LXQt is not possible anymore as a variety of packets built with the earlier version 5.14.1 is incompatible with 5.14.2.
Code: [Select]
ARTIX Dinit + SDDM + Enlightenment

Re: New Qt5 5.14.2 breaks system

Reply #1
like you only installed a few 5.14.2 packages and the rest is 5.14.1 ?

Qt 5.14.2 has been moved to the extra whole, there is no problem. Make a proper update or change mirrors ;)

Re: New Qt5 5.14.2 breaks system

Reply #2
No, I upgraded my system yesterday evening with pacman -Syu and it went to 5.14.2.

Right now 5.14.2 is still in world.
Code: [Select]
ARTIX Dinit + SDDM + Enlightenment

Re: New Qt5 5.14.2 breaks system

Reply #3
I had a similar issue (qt applications saying mismatched library versions despite being on the latest everything). It turned out the culprit was that the environment variable, "QT_QPA_PLATFORMTHEME", was set to "qt5ct". I'm not sure if lxqt sets this automatically or you have this set in your bashrc or something, but if possible if you comment it out, it should work again.

Update: I discovered that setting QT_QPA_PLATFORMTHEME to anything at all results in broken applications for me (I do use QT wayland so maybe that's an extra bug just for me). Seems like an upstream QT bug to me.

Re: New Qt5 5.14.2 breaks system

Reply #4
Short version: I switched from 'world' to 'extra' in order to downgrade to 5.14.1 and now it works.

My QT_QPA_PLATFORMTHEME is gtk2

Long version: I had to open another terminal with CTRL+ALT+F2
then I had to install xterm to make startx work: sudo pacman -S xterm
after that I entered startx
then I started OpenBox to get a simple environment (if you don't have openbox yet: sudo pacman -S openbox)
in a shell I tried to open octopi and got an error msg that told me that the library (some hex code) was not compatible mit another version (some hex code)
same with other qt programs like pcmanfm-qt
thus I manually downgraded qt5-base from the cache
after that I could start octopi and reinstalled all qt5-packages from 'extra' instead of 'world'
then everything worked again.

Code: [Select]
ARTIX Dinit + SDDM + Enlightenment

Re: New Qt5 5.14.2 breaks system

Reply #5
Configuration of Qt5 apps under environments other than KDE Plasma
Unlike Qt4, Qt5 does not ship a qtconfig utility to configure fonts, icons or styles. Instead, it will try to use the settings from the running desktop environment. In KDE Plasma or GNOME this works well, but in other less popular desktop environments or window managers it can lead to missing icons in Qt5 applications. One way to solve this is to fake the running desktop environment by setting XDG_CURRENT_DESKTOP=KDE or GNOME, and then using the corresponding configuration application to set the desired icon set.

Another solution is provided by the qt5ct package, which provides a Qt5 QPA independent of the desktop environment and a configuration utility. After installing the package, run qt5ct to set an icon theme, and set the environment variable QT_QPA_PLATFORMTHEME="qt5ct" so that the settings are picked up by Qt applications. Alternatively, use --platformtheme qt5ct as argument to the Qt5 application.

 

Re: New Qt5 5.14.2 breaks system

Reply #6

I tried that one as well and it also was broken. Someone in IRC did say that gtk2 and the latest 5.14.2 worked for them though. Anyways, if you want to use the latest 5.14.2, you cannot set the QT_QPA_PLATFORMTHEME to anything at all (comment it out completely). Of course, this will break all your themes, so maybe you would prefer to stay on the old version. ;)


Another solution is provided by the qt5ct package, which provides a Qt5 QPA independent of the desktop environment and a configuration utility. After installing the package, run qt5ct to set an icon theme, and set the environment variable QT_QPA_PLATFORMTHEME="qt5ct" so that the settings are picked up by Qt applications. Alternatively, use --platformtheme qt5ct as argument to the Qt5 application.

This is correct, but somehow setting the QT_QPA_PLATFORMTHEME environment variable on the new QT 5.14.2 magically makes QT applications think they were compiled against QT libraries they weren't actually compiled against (I did some tests compiling some QT applications myself and still got the mismatched library error). I know that makes zero sense and makes you question the code quality, but that's what happens.