You are not logged in.
After 2 days trying to debug why retroarch crashes on me (https://bbs.archlinux.org/viewtopic.php?id=250846),
i finally found with strace that it tried to access: /usr/share/X11/locale/C/XLC_LOCALE which was missing in my system.
pkgfile reports that it is a file that belongs to extra/libx11, so what i did was to reinstall libx11 and expected it to be re-populated.
But it just did not.
Thinking that my installation could be broken somehow, i installed a minimum systemd container to verify and, to my surprise:
[root@nspawn ~]# ls -la /usr/share/X11/locale/
total 172
drwxr-xr-x 3 root root 4096 Nov 21 16:33 .
drwxr-xr-x 6 root root 4096 Nov 21 16:34 ..
-rw-r--r-- 1 root root 32927 Jun 17 20:58 compose.dir
drwxr-xr-x 2 root root 4096 Nov 21 16:33 en_US.UTF-8
-rw-r--r-- 1 root root 82355 Jun 17 20:58 locale.alias
-rw-r--r-- 1 root root 37194 Jun 17 20:58 locale.dir
[root@nspawn ~]# pacman -Ql libx11|grep locale
libx11 /usr/include/X11/Xlocale.h
libx11 /usr/share/X11/locale/
libx11 /usr/share/X11/locale/C/
libx11 /usr/share/X11/locale/C/Compose
libx11 /usr/share/X11/locale/C/XI18N_OBJS
libx11 /usr/share/X11/locale/C/XLC_LOCALE
libx11 /usr/share/X11/locale/am_ET.UTF-8/
libx11 /usr/share/X11/locale/am_ET.UTF-8/Compose
libx11 /usr/share/X11/locale/am_ET.UTF-8/XI18N_OBJS
libx11 /usr/share/X11/locale/am_ET.UTF-8/XLC_LOCALE
libx11 /usr/share/X11/locale/armscii-8/
libx11 /usr/share/X11/locale/armscii-8/Compose
libx11 /usr/share/X11/locale/armscii-8/XI18N_OBJS
libx11 /usr/share/X11/locale/armscii-8/XLC_LOCALE
libx11 /usr/share/X11/locale/compose.dir
libx11 /usr/share/X11/locale/cs_CZ.UTF-8/
libx11 /usr/share/X11/locale/cs_CZ.UTF-8/Compose
libx11 /usr/share/X11/locale/cs_CZ.UTF-8/XI18N_OBJS
#[..]
#and continues...
So i inspected the PKGBUILD of libx11 and in the source files there is just a PKGBUILD, no install/update script.
Also, the PKGBUILD looks pretty simple.
If i compile libx11 with makepkg and inspect the pkg/ floder, all the files are right there, and i was able to solve the issue linked at the beginning of the post by manually copying the files from there to my "/"
Is there something that i am missing here? Is it a bug?
Last edited by kokoko3k (2019-11-22 13:21:14)
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
As all the files are verifiably "right there", this must be something on your system.
Two things spring to mind immediately for me here: An overeager locale NoExtract= list or to the same effect an overeager "locale cleanup" utility like bleachbit or so.
Offline
Check your pacman.conf for any NoExtract entries you may have made.
Offline
Oh my...
Yes, that was that.
Silly me for not thinking that i shared my pacman.conf with the systemd container.
Thanks...
EDIT
The wiki show the following example (but there is even a note about breaking packages)
NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* opt/google/chrome/locales/*
Bolded text actually breaks XOpenIM(), or at least seems that makes it return null.
I don't honestly know if this is a legit behaviour, but still it makes retroarch to crash or exit because it returns a null pointer.
In the past i've had similar issues with tropico5 that crashed at the first keypress for a Xim related issue that i solved by (again) manually copying those files.
Maybe that should be pruned from the wiki.
EDIT
Edited by linking my previous post and moved the warning on top.
Last edited by kokoko3k (2019-11-22 13:34:27)
Help me to improve ssh-rdp !
Retroarch User? Try my koko-aio shader !
Offline
The follow up whitelist in that example should be expanded to retain the C locales, these must/are always assumed to be present, it's likely that that would already suffice (and of course it'd have to be relevantly adjusted for the locales you are actively using).
Offline