Re: [Buildroot] [PATCH] package/libxkbcommon: build libxkbregistry when libxml2 is available
Alsey Miller <[email protected]>
| Newsgroups | net.busybox.buildroot |
|---|---|
| Message-ID | <[email protected]> |
Hi Thomas,
Thanks for the review.
> Shouldn't this be associated with a change in the wine package to select BR2_PACKAGE_LIBXML2 when wayland support is enabled?
Yes — and it turns out wine needs a bit more than that: wine.mk has no dependency on libxkbcommon at all, so wine + wayland without libxkbcommon fails on the XKBCOMMON_LIBS term of the very same configure test. v2 adds a second patch that selects both BR2_PACKAGE_LIBXKBCOMMON and BR2_PACKAGE_LIBXML2 when BR2_PACKAGE_WAYLAND is enabled, and adds libxkbcommon to WINE_DEPENDENCIES. libxml2 is only selected, not added to WINE_DEPENDENCIES, since wine does not link against it — it only has to be in the configuration so libxkbcommon builds libxkbregistry.
> We would need your commit log to be extended to indicate since when this problem exists.
Done in v2. Short version: libxkbcommon has passed -Denable-xkbregistry=false since 1791bc30a5 (1.0.1, Buildroot 2020.11), wine's configure gained the XKBREGISTRY_LIBS term in its Wayland test in wine 9.0 (upstream d64ea8e4a6c9, Nov 2023), and wine.mk started passing --with-wayland in 7cb49e7712 ("package/wine: bump to version 9.19", Oct 2024) — which is what turns the notice into a hard error.
So the breakage dates from 2024.11. 2025.02.x is affected: it has wine 10.0 (XKBREGISTRY_LIBS check present), --with-wayland in wine.mk, and libxkbcommon 1.9.2 with xkbregistry disabled. 2025.05.x and 2025.08.x are in the same state. A backport to 2025.02.x is needed.
Best regards,
Alsey Coleman Miller IV
> On Aug 7, 2026, at 8:33 AM, Thomas Petazzoni <[email protected]> wrote:
>
> Hello Alsey,
>
> On Thu, Aug 06, 2026 at 08:21:09PM -0400, Alsey Coleman Miller wrote:
>> libxkbregistry is the keyboard layout catalogue half of the library. It
>> parses the XML layout registry and so needs libxml2, which is presumably
>> why it was disabled unconditionally rather than wired to a dependency.
>>
>> wine needs it. Its configure.ac requires XKBREGISTRY_LIBS alongside
>> wayland-client, wayland-scanner, xkbcommon and linux/input.h before it
>> will build the Wayland driver, and wine.mk passes --with-wayland for any
>> build with BR2_PACKAGE_WAYLAND - which turns that notice into a hard
>> error:
>>
>> checking for wayland-client.h... yes
>> checking for wl_display_connect in -lwayland-client... yes
>> checking for wayland-scanner... .../host/bin/wayland-scanner
>> checking for xkb_context_new in -lxkbcommon... yes
>> checking for wayland-egl.h... yes
>> checking for wl_egl_window_create in -lwayland-egl... yes
>> configure: error: Wayland development files not found, the Wayland
>> driver won't be supported.
>> This is an error since --with-wayland was requested.
>>
>> Every other term of that test passes; only XKBREGISTRY_LIBS is empty, so
>> wine and wayland together could not be built on any architecture.
>>
>> Gated on BR2_PACKAGE_LIBXML2 rather than turned on outright, because
>> meson.build takes dependency('libxml-2.0') unconditionally once
>> enable-xkbregistry is set, so a target without libxml2 would fail to
>> configure.
>>
>> Signed-off-by: Alsey Coleman Miller <[email protected]>
>
> The patch obviously looks good and relevant. However, I have two
> comments:
>
> - Shouldn't this be associated with a change in the wine package to
> select BR2_PACKAGE_LIBXML2 when wayland support is enabled?
>
> - We would need your commit log to be extended to indicate since when
> this problem exists. Indeed, since your change is a fix, we will
> have to figure out whether we need to backport it to our LTS branch
> 2025.02.x. And for that, we need to understand if 2025.02.x is
> affected by the problem or not.
>
> Thanks a lot in advance for your feedback!
>
> Best regards,
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com <https://bootlin.com/>
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot