Unable to find a compose file #170

Closed
opened 1 year ago by dilyn-corner · 5 comments

I'm not sure to what extent this is a problem with foot versus a problem with my own system.

The dependency list suggests that foot should work fine without any X libraries. However, when attempting to launch foot without libX11 installed, the following error occurs:

/home/dilyn -> foot
info: ../main.c:345: version: 1.5.0
info: ../main.c:352: arch: x86_64/64-bit, 
info: ../config.c:1971: loading configuration from /home/dilyn/.config/foot/foot.ini
info: ../main.c:369: locale: C.UTF-8
info: ../wayland.c:1064: eDP-1: 2560x1600+0x0@60Hz Color LCD 13.44" scale=1 PPI=232x228 (physical) PPI=232x228 (logical), DPI=224.65
info: ../wayland.c:1193: requesting SSD decorations
info: ../subprojects/fcft/fcft.c:245: fcft: d446393 (Oct 05 2020, branch 'HEAD')
info: ../subprojects/fcft/fcft.c:255: fontconfig: 2.13.92
info: ../subprojects/fcft/fcft.c:261: freetype: 2.10.2
info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: ../terminal.c:612: cell width=9, height=20
info: ../terminal.c:553: using 4 rendering threads
xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8"
Segmentation fault 

This problem is solved by either installing libX11, or simply generating the compose files separately (a far simpler solution I have opted for). I'm curious if you would happen to know why this is the case; I'm not certain to what extent it might be related to musl vs glibc. I use the former which has notoriously bad locale support, so I think that might be why.

This is mostly just a curiousity and something to peak at if it could be solved here. I had an issue with wayst as well that I thought was merely a fonts problem, and it's what initially brought me to foot, but looking back it might be related.

I'm not sure to what extent this is a problem with foot versus a problem with my own system. The dependency list suggests that foot should work fine without any X libraries. However, when attempting to launch foot without libX11 installed, the following error occurs: ``` /home/dilyn -> foot info: ../main.c:345: version: 1.5.0 info: ../main.c:352: arch: x86_64/64-bit, info: ../config.c:1971: loading configuration from /home/dilyn/.config/foot/foot.ini info: ../main.c:369: locale: C.UTF-8 info: ../wayland.c:1064: eDP-1: 2560x1600+0x0@60Hz Color LCD 13.44" scale=1 PPI=232x228 (physical) PPI=232x228 (logical), DPI=224.65 info: ../wayland.c:1193: requesting SSD decorations info: ../subprojects/fcft/fcft.c:245: fcft: d446393 (Oct 05 2020, branch 'HEAD') info: ../subprojects/fcft/fcft.c:255: fontconfig: 2.13.92 info: ../subprojects/fcft/fcft.c:261: freetype: 2.10.2 info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: ../subprojects/fcft/fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: ../terminal.c:612: cell width=9, height=20 info: ../terminal.c:553: using 4 rendering threads xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8" Segmentation fault ``` This problem is solved by either installing libX11, or simply generating the compose files separately (a far simpler solution I have opted for). I'm curious if you would happen to know why this is the case; I'm not certain to what extent it might be related to musl vs glibc. I use the former which has notoriously bad locale support, so I think that might be why. This is mostly just a curiousity and something to peak at if it could be solved here. I had an issue with wayst as well that I thought was merely a fonts problem, and it's what initially brought me to foot, but looking back it might be related.
dnkl added the
bug
label 1 year ago
dnkl commented 1 year ago
Owner

The compose files are used to handle "dead keys". I have no idea why it is packaged with libx11, and not with xkbcommon, or as a separate package...

The error message is from xkbcommon, but the crash is foot's faults.

#172 fixes the crash, and let's foot run even when the compose file(s) are missing. But dead keys will obviously not work.

I've tested it briefly, by faking a failure in the xkbcommon call that loads the compose file. I cannot test it "for real", at least not without crippling my system, and would appreciate if you could test the PR before I merge it,

The compose files are used to handle "dead keys". I have no idea why it is packaged with libx11, and not with xkbcommon, or as a separate package... The error message is from xkbcommon, but the crash is foot's faults. https://codeberg.org/dnkl/foot/pulls/172 fixes the crash, and let's foot run even when the compose file(s) are missing. But dead keys will obviously not work. I've tested it briefly, by faking a failure in the xkbcommon call that loads the compose file. I cannot test it "for real", at least not without crippling my system, and would appreciate if you could test the PR before I merge it,
Poster

definitely more than happy to test this out for you! I'll get on that later today.

what exactly would 'dead-keys' constitute? just unmapped keys?

definitely more than happy to test this out for you! I'll get on that later today. what exactly would 'dead-keys' constitute? just unmapped keys?
dnkl commented 1 year ago
Owner

what exactly would ‘dead-keys’ constitute? just unmapped keys?

Not quite :)

This: https://en.wikipedia.org/wiki/Dead_key

> what exactly would ‘dead-keys’ constitute? just unmapped keys? Not quite :) This: https://en.wikipedia.org/wiki/Dead_key
Poster

I've given it a (short) go, and it seems to work to in all my own personal use-cases no differently than normal. Here is what foot reports when launched with no compose files:

/home/dilyn/git/foot/build -> ./foot 
info: main.c:345: version: 1.5.2-132-g0573c68 (Oct 19 2020, branch 'dont-require-a-compose-file')
info: main.c:352: arch: x86_64/64-bit, 
info: main.c:356: locale: C.UTF-8
info: config.c:2014: loading configuration from /home/dilyn/.config/foot/foot.ini
info: wayland.c:1065: eDP-1: 2560x1600+0x0@60Hz Color LCD 13.44" scale=1 PPI=232x228 (physical) PPI=232x228 (logical), DPI=224.65
info: wayland.c:1197: requesting SSD decorations
info: fcft.c:245: fcft: 2.3.1-8-g8d259d9 (Oct 19 2020, branch 'master')
info: fcft.c:255: fontconfig: 2.13.92
info: fcft.c:261: freetype: 2.10.2
info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65
info: terminal.c:626: cell width=9, height=20
info: terminal.c:564: using 4 rendering threads
xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8"
warn: input.c:509: failed to instantiate compose table; dead keys will not work
info: wayland.c:647: using SSD decorations
info: osc.c:659: change cursor color to ececec
info: wayland.c:1343: cursor theme: Adwaita, size: 16, scale: 1
 err: render.c:2302: failed to load xcursor pointer 'text'

But from there it's just business as usual - feels like success to me!

I've given it a (short) go, and it seems to work to in all my own personal use-cases no differently than normal. Here is what `foot` reports when launched with no compose files: ``` /home/dilyn/git/foot/build -> ./foot info: main.c:345: version: 1.5.2-132-g0573c68 (Oct 19 2020, branch 'dont-require-a-compose-file') info: main.c:352: arch: x86_64/64-bit, info: main.c:356: locale: C.UTF-8 info: config.c:2014: loading configuration from /home/dilyn/.config/foot/foot.ini info: wayland.c:1065: eDP-1: 2560x1600+0x0@60Hz Color LCD 13.44" scale=1 PPI=232x228 (physical) PPI=232x228 (logical), DPI=224.65 info: wayland.c:1197: requesting SSD decorations info: fcft.c:245: fcft: 2.3.1-8-g8d259d9 (Oct 19 2020, branch 'master') info: fcft.c:255: fontconfig: 2.13.92 info: fcft.c:261: freetype: 2.10.2 info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: fcft.c:671: /usr/share/fonts/TTF/CozetteVector.ttf: size=6.00pt/18px, dpi=224.65 info: terminal.c:626: cell width=9, height=20 info: terminal.c:564: using 4 rendering threads xkbcommon: ERROR: couldn't find a Compose file for locale "C.UTF-8" warn: input.c:509: failed to instantiate compose table; dead keys will not work info: wayland.c:647: using SSD decorations info: osc.c:659: change cursor color to ececec info: wayland.c:1343: cursor theme: Adwaita, size: 16, scale: 1 err: render.c:2302: failed to load xcursor pointer 'text' ``` But from there it's just business as usual - feels like success to me!
dnkl commented 1 year ago
Owner

But from there it’s just business as usual - feels like success to me!

Yeah, looks good, only expected errors and warnings. Thanks for testing!

> But from there it’s just business as usual - feels like success to me! Yeah, looks good, only expected errors and warnings. Thanks for testing!
dnkl closed this issue 1 year ago
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.