PyQt5 on Raspberry: locale problem


#1

I fail with python Qt application usign PyQt5 over Mir for Raspberry Pi 3. This is console message:
encept@localhost:~$ mir-client.mir-client-test
Loading module: 'libubuntu_application_api_desktop_mirclient.so.3.0.0’
pci id for fd 10: 1b36:0100, driver (null)
xkbcommon: ERROR: couldn’t find a Compose file for locale "C.UTF-8"
xkbcommon: ERROR: couldn’t find a Compose file for locale "C.UTF-8"
xkbcommon: ERROR: couldn’t find a Compose file for locale "C.UTF-8"
ubuntumirclient: Failed to connect to ContentsChanged signal form the D-Bus system clipboard.

I really don’t know what to do with locale now. Ubuntu Core 16 has the only locale “C.UTF-8” and it is impossible to add new (right?). And xkbcommon does not know “C.UTF-8”, may be it is possible to add suport?


#2

take a look at line 7-21 in this wrapper script:

http://bazaar.launchpad.net/~ogra/+junk/nethack/view/head:/nethack.sh

and line 20-22 of the corresponding snapcaft.yaml http://bazaar.launchpad.net/~ogra/+junk/nethack/view/head:/snapcraft.yaml

with this you should be able to get around the locale issues (though it seems there is a more fatal error regarding dbus for which you might need to consult the mir guys …)


#3

I think ogra has addressed the problem with locale.

I’m not sure of the dbus issue. It looks like something related to the clipboard support in qtubuntu. I don’t see it with the mir-kiosk-apps demos, but perhaps they do something differently to your application. Can you perhaps disable clipboard support to confirm this is the issue?

I can speculate that clipboard support is something that might have broken when we dropped the “stable phone overlay”, but I really need to check with someone that knows this code better.


#4

Did you see any DENIED messages in the syslog?

Maybe Debugging confined apps can be of help?

Have you tried with --devmode?

It might also be related to bug #1469819 in qtubuntu.


#5

Thank you for answer!
Locale seems to be changed, but there is still a problem with xkbcommon:

xkbcommon: ERROR: couldn’t find a Compose file for locale "en_US.UTF-8"
xkbcommon: ERROR: couldn’t find a Compose file for locale "en_US.UTF-8"
xkbcommon: ERROR: couldn’t find a Compose file for locale “en_US.UTF-8”


#6

from “man 5 compose”:

   The compose file is searched for in  the following order:

   -      If the environment variable $XCOMPOSEFILE is set, its value is used as the name of the Compose file.

so you should be able to do something like:

export XCOMPOSEFILE=$SNAP/usr/share/X11/locale/en_US.UTF-8/Compose

at the top of your wrapper script … and put libx11-data (which ships this file normally) into your stage packages in snapcraft.yaml …


#7

Thanks, it works!
And now it is time to deal with D-Bus…