FS#40468 - [qt5-tools][qt5-declarative][qt5-quick] should depend on libxkbcommon-x11

Attached to Project: Arch Linux
Opened by Сковорода Никита (ChALkeR) - Tuesday, 20 May 2014, 13:02 GMT
Last edited by Andrea Scarpino (BaSh) - Wednesday, 21 May 2014, 16:31 GMT
Task Type Bug Report
Category Packages: Testing
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 4
Private No

Details

Description:
qt5-base includes /usr/lib/qt/plugins/platforms/libqxcb.so (which is the default qt5 gui platform under x11), that file is linked with libxkbcommon-x11.so.0, which is provided by extra/libxkbcommon-x11, which is not listed as a dependency for qt5-base.

Without libxkbcommon-x11 Qt5-based GUI applications do not work under X11.

Additional info:
* qt5-base 5.3.0-1
* ldd /usr/lib/qt/plugins/platforms/libqxcb.so | grep xkbcommon-x11
* pacman -Qo /usr/lib/qt/plugins/platforms/libqxcb.so

Steps to reproduce:
* Remove libxkbcommon-x11
* Try to launch any Qt5-based GUI application under X11.

Result:
> This application failed to start because it could not find or load the Qt platform plugin "xcb".
> Available platform plugins are: eglfs, kms, linuxfb, minimal, minimalegl, offscreen, xcb.
> Reinstalling the application may fix this problem.
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Wednesday, 21 May 2014, 16:31 GMT
Reason for closing:  Fixed
Additional comments about closing:  qt5-declarative 5.3.0-2
Comment by Andrea Scarpino (BaSh) - Tuesday, 20 May 2014, 13:24 GMT
It's already an optdepends for qt5-base.

Make your application depends from libxkbcommon-x11 since it's a plugin.
Comment by Сковорода Никита (ChALkeR) - Tuesday, 20 May 2014, 14:02 GMT
On one hand, it is correct as it is now — there could be Qt5 apps that do not depend on x11.
On the other hand, if user installs, for example, qtcreator / texmaker / kf5 or just wants to use qmlscene from qt5-declarative, or any graphical utility from qt5-tools, libxkbcommon-x11 is not installed and that apps do not work under x11.
Updating Qt5 to 5.3.0-1 breaks all these apps for the user.

Are you sure that all applications should depend on libxkbcommon-x11?
Comment by Andrea Scarpino (BaSh) - Tuesday, 20 May 2014, 14:13 GMT
I know that this will break some stuff, but Qt 5.3 is in [testing] for this reason - we can fix many packages before we move qt to [extra].

Adding libxkbcommon-x11 as dependence to qt5-declarative should already fix many of them however.
Comment by Сковорода Никита (ChALkeR) - Tuesday, 20 May 2014, 14:16 GMT
And what about qt5-tools?
Comment by Andrea Scarpino (BaSh) - Tuesday, 20 May 2014, 14:35 GMT
Of course also that one and probably many qt5- stuff. I'll check every qt5 bin.
Comment by zless (roentgen) - Tuesday, 20 May 2014, 16:27 GMT
My configured KDE4 activities (a standard one and Homerun) didn't load after upgrading Qt5.

Just after I also installed libxkbcommon-x11 they loaded just fine.

Transmission Qt complained about something 'xcb'. After installing the above said package now just dumps core. I will have to investigate further.
Comment by Curtis (foxcm2000) - Tuesday, 20 May 2014, 23:25 GMT
I just encountered the exact same bug. Thanks for the work-around. Since the source of the error is completely counter-intuitive (I had double-checked libqxcb.so and it was sitting right where it was supposed to be), then at a minimum they should make libxkbcommon-x11 an optional dependency and put a large warning message that it will be required for 99.9% of qt5 users for the foreseeable future.
Comment by Andrea Scarpino (BaSh) - Wednesday, 21 May 2014, 15:13 GMT
@Chuck
libxkbcommon-x11 is *already* an optional dependence.

@All
Please file a bug for each package that needs libxkbcommon-x11 (which should be none or very few since many of them needs qt5-declarative that will be fixed ASAP)

Loading...