Skip to content

[3.3.x] Wayland driver requires newer libxkbcommon than is available in Steam Runtime 2 'soldier' #14101

@smcv

Description

@smcv

In Steam Runtime 2 'soldier' SDK, building with -DSDL_WAYLAND_SHARED=OFF:

../src/video/wayland/SDL_waylandsym.h: In function ‘SDL_WAYLAND_LoadSymbols’:
../src/video/wayland/SDL_waylandsym.h:160:25: error: ‘xkb_keymap_key_get_mods_for_level’ undeclared (first use in this function); did you mean ‘xkb_keymap_key_get_syms_by_level’?
 SDL_WAYLAND_SYM(size_t, xkb_keymap_key_get_mods_for_level, (struct xkb_keymap *,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/video/wayland/SDL_waylanddyn.c:204:60: note: in definition of macro ‘SDL_WAYLAND_SYM’
 #define SDL_WAYLAND_SYM(rc, fn, params)     WAYLAND_##fn = fn;
                                                            ^~
../src/video/wayland/SDL_waylandsym.h:160:25: note: each undeclared identifier is reported only once for each function it appears in
 SDL_WAYLAND_SYM(size_t, xkb_keymap_key_get_mods_for_level, (struct xkb_keymap *,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/video/wayland/SDL_waylanddyn.c:204:60: note: in definition of macro ‘SDL_WAYLAND_SYM’
 #define SDL_WAYLAND_SYM(rc, fn, params)     WAYLAND_##fn = fn;
                                                            ^~

xkb_keymap_key_get_mods_for_level() was new in libxkbcommon 1.0, but soldier only has 0.8.2 available.

(For the builds of SDL in Debian and the Steam Runtime container runtimes, we build most dependencies with -DSDL_DEPS_SHARED=OFF to try to make missing functionality be a compile-time failure, rather than a runtime crash - it's easier to detect that sort of thing this way.)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions